Coverage Report

Created: 2025-06-06 01:46

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <system_error>
32
#include <tuple>
33
34
namespace scn {
35
SCN_BEGIN_NAMESPACE
36
37
/////////////////////////////////////////////////////////////////
38
// Metaprogramming facilities
39
/////////////////////////////////////////////////////////////////
40
41
namespace detail {
42
43
template <typename T>
44
using integer_type_for_char =
45
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
46
47
template <typename T, template <typename...> class Templ>
48
struct is_specialization_of_impl : std::false_type {};
49
template <typename... T, template <typename...> class Templ>
50
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
51
52
template <typename T, template <typename...> class Templ>
53
using is_specialization_of =
54
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
55
template <typename T, template <typename...> class Templ>
56
inline constexpr bool is_specialization_of_v =
57
    is_specialization_of<T, Templ>::value;
58
59
// from mp11:
60
61
template <typename T>
62
struct mp_identity {
63
    using type = T;
64
};
65
template <typename T>
66
using mp_identity_t = typename mp_identity<T>::type;
67
68
template <bool B>
69
using mp_bool = std::integral_constant<bool, B>;
70
template <typename T>
71
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
72
template <typename T>
73
using mp_not = mp_bool<!T::value>;
74
template <auto A>
75
using mp_value = std::integral_constant<decltype(A), A>;
76
77
template <bool C, typename T, typename... E>
78
struct mp_if_c_impl;
79
template <typename T, typename... E>
80
struct mp_if_c_impl<true, T, E...> {
81
    using type = T;
82
};
83
template <typename T, typename E>
84
struct mp_if_c_impl<false, T, E> {
85
    using type = E;
86
};
87
88
template <bool C, typename T, typename... E>
89
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
90
template <typename C, typename T, typename... E>
91
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
92
93
template <template <typename...> class F, typename... T>
94
struct mp_valid_impl {
95
    template <template <typename...> class G, typename = G<T...>>
96
    static std::true_type check(int);
97
    template <template <typename...> class>
98
    static std::false_type check(...);
99
100
    using type = decltype(check<F>(0));
101
};
102
103
template <template <typename...> class F, typename... T>
104
using mp_valid = typename mp_valid_impl<F, T...>::type;
105
template <template <typename...> class F, typename... T>
106
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
107
108
struct mp_nonesuch {};
109
template <template <typename...> class F, typename... T>
110
struct mp_defer_impl {
111
    using type = F<T...>;
112
};
113
114
template <template <typename...> class F, typename... T>
115
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
116
117
template <bool C, class T, template <class...> class F, class... U>
118
struct mp_eval_if_c_impl;
119
120
template <class T, template <class...> class F, class... U>
121
struct mp_eval_if_c_impl<true, T, F, U...> {
122
    using type = T;
123
};
124
125
template <class T, template <class...> class F, class... U>
126
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
127
128
template <bool C, class T, template <class...> class F, class... U>
129
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
130
template <class C, class T, template <class...> class F, class... U>
131
using mp_eval_if =
132
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
133
template <class C, class T, class Q, class... U>
134
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
135
                                                T,
136
                                                Q::template fn,
137
                                                U...>::type;
138
139
// mp_eval_if_not
140
template <class C, class T, template <class...> class F, class... U>
141
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
142
template <class C, class T, class Q, class... U>
143
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
144
145
// mp_eval_or
146
template <class T, template <class...> class F, class... U>
147
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
148
template <class T, class Q, class... U>
149
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
150
151
// mp_valid_and_true
152
template <template <class...> class F, class... T>
153
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
154
template <class Q, class... T>
155
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
156
157
// extension
158
template <template <typename...> class F, typename... T>
159
using mp_valid_result =
160
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
161
template <template <typename...> class F, typename... T>
162
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
163
164
// mp_cond
165
template <class C, class T, class... E>
166
struct mp_cond_impl;
167
168
template <class C, class T, class... E>
169
using mp_cond = typename mp_cond_impl<C, T, E...>::type;
170
171
template <class C, class T, class... E>
172
using mp_cond_ = mp_eval_if<C, T, mp_cond, E...>;
173
174
template <class C, class T, class... E>
175
struct mp_cond_impl : mp_defer<mp_cond_, C, T, E...> {};
176
177
/////////////////////////////////////////////////////////////////
178
// pointer_traits and to_address
179
/////////////////////////////////////////////////////////////////
180
181
template <typename Ptr, typename>
182
struct pointer_traits {};
183
184
template <typename T>
185
struct pointer_traits<T*, void> {
186
    using pointer = T*;
187
    using element_type = T;
188
    using difference_type = std::ptrdiff_t;
189
190
    template <typename U>
191
    using rebind = U*;
192
193
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
194
    static constexpr pointer pointer_to(U& r) noexcept
195
    {
196
        return &r;
197
    }
198
199
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
200
    {
201
        return p;
202
    }
203
};
204
205
template <typename Ptr>
206
using apply_member_difference_type = typename Ptr::difference_type;
207
template <typename Ptr>
208
using get_member_difference_type =
209
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
210
211
template <typename Ptr, typename ElementType>
212
struct pointer_traits_generic_base {
213
    using pointer = Ptr;
214
    using element_type = ElementType;
215
216
    using difference_type = get_member_difference_type<Ptr>;
217
    static_assert(std::is_integral_v<difference_type>);
218
219
    // no rebind (TODO?)
220
221
    template <typename P = Ptr>
222
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
223
    {
224
        return Ptr::pointer_to(r);
225
    }
226
};
227
228
template <typename It, typename = void>
229
struct wrapped_pointer_iterator;
230
231
#ifdef _GLIBCXX_DEBUG
232
template <typename Elem, typename Container>
233
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
234
    SCN_FORCE_INLINE static constexpr auto to_address(
235
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
236
    {
237
        return it.base();
238
    }
239
};
240
#endif
241
#if SCN_STDLIB_GLIBCXX
242
template <typename Elem, typename Container>
243
struct wrapped_pointer_iterator<
244
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
245
    SCN_FORCE_INLINE static constexpr auto to_address(
246
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
247
    {
248
        return it.base();
249
    }
250
};
251
#endif
252
#if SCN_STDLIB_LIBCPP
253
template <typename Elem>
254
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
255
    SCN_FORCE_INLINE static constexpr auto to_address(
256
        const std::__wrap_iter<Elem*>& it) noexcept
257
0
    {
258
0
        return it.base();
259
0
    }
260
};
261
#endif
262
263
template <typename I>
264
using apply_deref = decltype(*SCN_DECLVAL(I&));
265
template <typename I>
266
using apply_incr = decltype(++SCN_DECLVAL(I&));
267
template <typename I>
268
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
269
template <typename It>
270
struct wrapped_pointer_iterator<
271
    It,
272
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
273
                     mp_valid_v<apply_incr, It> &&
274
                     mp_valid_v<apply_member_unwrapped, It>>> {
275
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
276
    {
277
        return it._Unwrapped();
278
    }
279
};
280
281
template <typename I>
282
using apply_member_to_address =
283
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
284
285
template <typename Iterator>
286
struct pointer_traits<
287
    Iterator,
288
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
289
    : pointer_traits_generic_base<
290
          Iterator,
291
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
292
    SCN_FORCE_INLINE static constexpr auto to_address(
293
        const Iterator& it) noexcept
294
0
    {
295
0
        return wrapped_pointer_iterator<Iterator>::to_address(it);
296
0
    }
297
};
298
299
template <typename It>
300
using apply_ptr_traits_to_address =
301
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
302
template <typename It>
303
inline constexpr bool can_make_address_from_iterator =
304
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
305
306
template <typename T>
307
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
308
1.51M
{
309
1.51M
    return p;
310
1.51M
}
char const* scn::v4::detail::to_address_impl<char const>(char const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
308
1.22M
{
309
1.22M
    return p;
310
1.22M
}
wchar_t const* scn::v4::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
308
283k
{
309
283k
    return p;
310
283k
}
311
template <typename Ptr>
312
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
313
                                                priority_tag<1>) noexcept
314
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
315
{
316
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
317
}
318
template <typename Ptr>
319
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
320
                                                priority_tag<0>) noexcept
321
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
322
                                               priority_tag<2>{}))
323
{
324
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
325
}
326
327
template <typename Ptr>
328
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
329
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
330
1.51M
{
331
1.51M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
1.51M
}
_ZN3scn2v46detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
913k
{
331
913k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
913k
}
_ZN3scn2v46detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
315k
{
331
315k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
315k
}
_ZN3scn2v46detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
283k
{
331
283k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
283k
}
Unexecuted instantiation: _ZN3scn2v46detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
333
334
}  // namespace detail
335
336
/////////////////////////////////////////////////////////////////
337
// <expected> implementation
338
/////////////////////////////////////////////////////////////////
339
340
// The following implementation of expected is based on TartanLlama/expected,
341
// but is heavily modified.
342
//
343
// The original source is here:
344
//     https://github.com/TartanLlama/expected
345
// which is licensed under CC0 (Public Domain).
346
347
/**
348
 * \see `std::unexpected`
349
 */
350
template <typename E>
351
class SCN_TRIVIAL_ABI unexpected {
352
    static_assert(std::is_destructible_v<E>);
353
354
public:
355
    unexpected() = delete;
356
357
    template <
358
        typename Err = E,
359
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
360
                                    !std::is_same_v<Err, std::in_place_t> &&
361
                                    std::is_constructible_v<E, Err>>>
362
    explicit constexpr unexpected(Err&& e) noexcept(
363
        std::is_nothrow_constructible_v<E, Err>)
364
1.87M
        : m_unexpected(std::forward<Err>(e))
365
1.87M
    {
366
1.87M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
1.87M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error&, void>(scn::v4::scan_error&)
Line
Count
Source
364
1.85M
        : m_unexpected(std::forward<Err>(e))
365
1.85M
    {
366
1.85M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
1.85M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(scn::v4::scan_error&&)
Line
Count
Source
364
15.0k
        : m_unexpected(std::forward<Err>(e))
365
15.0k
    {
366
15.0k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
15.0k
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error&, void>(scn::v4::impl::parse_error&)
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error, void>(scn::v4::impl::eof_error&&)
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error&, void>(scn::v4::impl::eof_error&)
Line
Count
Source
364
4.34k
        : m_unexpected(std::forward<Err>(e))
365
4.34k
    {
366
4.34k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
4.34k
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error::code>::unexpected<scn::v4::impl::parse_error::code, void>(scn::v4::impl::parse_error::code&&)
368
369
    template <typename... Args,
370
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
371
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
372
        std::is_nothrow_constructible_v<E, Args...>)
373
1.87M
        : m_unexpected(std::forward<Args>(args)...)
374
1.88M
    {
375
1.88M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
1.88M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(std::__1::in_place_t, scn::v4::scan_error&&)
Line
Count
Source
373
1.87M
        : m_unexpected(std::forward<Args>(args)...)
374
1.87M
    {
375
1.87M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
1.87M
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(std::__1::in_place_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error::code, void>(std::__1::in_place_t, scn::v4::impl::parse_error::code&&)
377
378
    SCN_NODISCARD constexpr E& error() & noexcept
379
3.54M
    {
380
3.54M
        return m_unexpected;
381
3.54M
    }
scn::v4::unexpected<scn::v4::scan_error>::error() &
Line
Count
Source
379
3.53M
    {
380
3.53M
        return m_unexpected;
381
3.53M
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::error() &
Line
Count
Source
379
8.68k
    {
380
8.68k
        return m_unexpected;
381
8.68k
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error::code>::error() &
382
    SCN_NODISCARD constexpr const E& error() const& noexcept
383
0
    {
384
0
        return m_unexpected;
385
0
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() const &
386
387
    SCN_NODISCARD constexpr E&& error() && noexcept
388
    {
389
        return std::move(m_unexpected);
390
    }
391
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
392
    {
393
        return std::move(m_unexpected);
394
    }
395
396
private:
397
    E m_unexpected;
398
};
399
400
template <typename E>
401
unexpected(E) -> unexpected<E>;
402
403
struct unexpect_t {};
404
inline constexpr unexpect_t unexpect{};
405
406
namespace detail {
407
template <typename T, typename... Args>
408
T* construct_at(T* p, Args&&... args) noexcept(
409
    std::is_nothrow_constructible_v<T, Args...>)
410
621k
{
411
621k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
621k
        T(std::forward<Args>(args)...);
413
621k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*, scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
410
225k
{
411
225k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
225k
        T(std::forward<Args>(args)...);
413
225k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>*)
Line
Count
Source
410
26.7k
{
411
26.7k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
26.7k
        T(std::forward<Args>(args)...);
413
26.7k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, std::__1::in_place_t const&, scn::v4::scan_error>(scn::v4::unexpected<scn::v4::scan_error>*, std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
410
150k
{
411
150k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
150k
        T(std::forward<Args>(args)...);
413
150k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>*)
Line
Count
Source
410
26.7k
{
411
26.7k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
26.7k
        T(std::forward<Args>(args)...);
413
26.7k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>*)
Line
Count
Source
410
32.2k
{
411
32.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
32.2k
        T(std::forward<Args>(args)...);
413
32.2k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>*)
Line
Count
Source
410
32.2k
{
411
32.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
32.2k
        T(std::forward<Args>(args)...);
413
32.2k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>*)
Line
Count
Source
410
32.0k
{
411
32.0k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
32.0k
        T(std::forward<Args>(args)...);
413
32.0k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>*)
Line
Count
Source
410
32.0k
{
411
32.0k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
32.0k
        T(std::forward<Args>(args)...);
413
32.0k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>*)
Line
Count
Source
410
32.0k
{
411
32.0k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
32.0k
        T(std::forward<Args>(args)...);
413
32.0k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>*)
Line
Count
Source
410
32.0k
{
411
32.0k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
32.0k
        T(std::forward<Args>(args)...);
413
32.0k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
414
template <typename T>
415
void destroy_at(T* p) noexcept
416
546k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
546k
    else {
423
546k
        p->~T();
424
546k
    }
425
546k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>*)
Line
Count
Source
416
26.7k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
26.7k
    else {
423
26.7k
        p->~T();
424
26.7k
    }
425
26.7k
}
void scn::v4::detail::destroy_at<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*)
Line
Count
Source
416
300k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
300k
    else {
423
300k
        p->~T();
424
300k
    }
425
300k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>*)
Line
Count
Source
416
26.7k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
26.7k
    else {
423
26.7k
        p->~T();
424
26.7k
    }
425
26.7k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>*)
Line
Count
Source
416
32.2k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
32.2k
    else {
423
32.2k
        p->~T();
424
32.2k
    }
425
32.2k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>*)
Line
Count
Source
416
32.2k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
32.2k
    else {
423
32.2k
        p->~T();
424
32.2k
    }
425
32.2k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>*)
Line
Count
Source
416
32.0k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
32.0k
    else {
423
32.0k
        p->~T();
424
32.0k
    }
425
32.0k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>*)
Line
Count
Source
416
32.0k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
32.0k
    else {
423
32.0k
        p->~T();
424
32.0k
    }
425
32.0k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>*)
Line
Count
Source
416
32.0k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
32.0k
    else {
423
32.0k
        p->~T();
424
32.0k
    }
425
32.0k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>*)
Line
Count
Source
416
32.0k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
32.0k
    else {
423
32.0k
        p->~T();
424
32.0k
    }
425
32.0k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
426
427
struct deferred_init_tag_t {};
428
static constexpr deferred_init_tag_t deferred_init_tag{};
429
430
template <typename T,
431
          typename E,
432
          bool IsTriviallyDestructible =
433
              (std::is_void_v<T> || std::is_trivially_destructible_v<T>) &&
434
              std::is_trivially_destructible_v<E>>
435
struct expected_storage_base;
436
437
template <typename T, typename E>
438
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
439
    constexpr expected_storage_base() noexcept(
440
        std::is_nothrow_default_constructible_v<T>)
441
123k
        : m_value(T{}), m_has_value(true)
442
123k
    {
443
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
26.7k
        : m_value(T{}), m_has_value(true)
442
26.7k
    {
443
26.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
32.2k
        : m_value(T{}), m_has_value(true)
442
32.2k
    {
443
32.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
32.0k
        : m_value(T{}), m_has_value(true)
442
32.0k
    {
443
32.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
32.0k
        : m_value(T{}), m_has_value(true)
442
32.0k
    {
443
32.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base()
444
445
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
446
        : m_deferred_init(), m_has_value(false)
447
    {
448
    }
449
450
    template <typename... Args,
451
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
452
    constexpr explicit expected_storage_base(
453
        std::in_place_t,
454
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
455
1.33M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.33M
    {
457
1.33M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
455
42.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
42.6k
    {
457
42.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
455
59.1k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
59.1k
    {
457
59.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
455
21.1k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
21.1k
    {
457
21.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
455
21.1k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
21.1k
    {
457
21.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
455
253k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
253k
    {
457
253k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
455
153k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
153k
    {
457
153k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
455
42.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
42.6k
    {
457
42.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
455
21.1k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
21.1k
    {
457
21.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
455
92.7k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
92.7k
    {
457
92.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
455
90.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
90.0k
    {
457
90.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
455
119k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
119k
    {
457
119k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
455
111k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
111k
    {
457
111k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
455
76.9k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
76.9k
    {
457
76.9k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
455
144k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
144k
    {
457
144k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
455
90.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
90.0k
    {
457
90.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<unsigned long, void>(std::__1::in_place_t, unsigned long&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
458
459
    template <typename... Args,
460
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
461
    constexpr explicit expected_storage_base(
462
        unexpect_t,
463
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
464
1.07M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
1.07M
          m_has_value(false)
466
1.07M
    {
467
1.07M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
12.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
12.5k
          m_has_value(false)
466
12.5k
    {
467
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
37.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
37.5k
          m_has_value(false)
466
37.5k
    {
467
37.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
12.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
12.5k
          m_has_value(false)
466
12.5k
    {
467
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
37.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
37.5k
          m_has_value(false)
466
37.5k
    {
467
37.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
25.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
25.0k
          m_has_value(false)
466
25.0k
    {
467
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
75.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
75.0k
          m_has_value(false)
466
75.0k
    {
467
75.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
25.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
25.0k
          m_has_value(false)
466
25.0k
    {
467
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
75.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
75.0k
          m_has_value(false)
466
75.0k
    {
467
75.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
144k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
144k
          m_has_value(false)
466
144k
    {
467
144k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
286k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
286k
          m_has_value(false)
466
286k
    {
467
286k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
225k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
225k
          m_has_value(false)
466
225k
    {
467
225k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
38.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
38.2k
          m_has_value(false)
466
38.2k
    {
467
38.2k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
76.1k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
76.1k
          m_has_value(false)
466
76.1k
    {
467
76.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
1.44k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
1.44k
          m_has_value(false)
466
1.44k
    {
467
1.44k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
732
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
732
          m_has_value(false)
466
732
    {
467
732
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
1.08k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
1.08k
          m_has_value(false)
466
1.08k
    {
467
1.08k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
1.08k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
1.08k
          m_has_value(false)
466
1.08k
    {
467
1.08k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
468
469
    constexpr T& get_value() & noexcept
470
1.63M
    {
471
1.63M
        return m_value;
472
1.63M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
55.1k
    {
471
55.1k
        return m_value;
472
55.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
42.6k
    {
471
42.6k
        return m_value;
472
42.6k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
224k
    {
471
224k
        return m_value;
472
224k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
296k
    {
471
296k
        return m_value;
472
296k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
71.6k
    {
471
71.6k
        return m_value;
472
71.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
59.1k
    {
471
59.1k
        return m_value;
472
59.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
46.1k
    {
471
46.1k
        return m_value;
472
46.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
21.1k
    {
471
21.1k
        return m_value;
472
21.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
174k
    {
471
174k
        return m_value;
472
174k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
46.1k
    {
471
46.1k
        return m_value;
472
46.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
21.1k
    {
471
21.1k
        return m_value;
472
21.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
92.7k
    {
471
92.7k
        return m_value;
472
92.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
90.0k
    {
471
90.0k
        return m_value;
472
90.0k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
119k
    {
471
119k
        return m_value;
472
119k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
111k
    {
471
111k
        return m_value;
472
111k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
76.9k
    {
471
76.9k
        return m_value;
472
76.9k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
90.0k
    {
471
90.0k
        return m_value;
472
90.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
473
    constexpr const T& get_value() const& noexcept
474
0
    {
475
0
        return m_value;
476
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
477
    constexpr T&& get_value() && noexcept
478
0
    {
479
0
        return std::move(m_value);
480
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &&
481
    constexpr const T&& get_value() const&& noexcept
482
    {
483
        return std::move(m_value);
484
    }
485
486
    constexpr unexpected<E>& get_unexpected() & noexcept
487
1.07M
    {
488
1.07M
        return m_unexpected;
489
1.07M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
37.5k
    {
488
37.5k
        return m_unexpected;
489
37.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
12.5k
    {
488
12.5k
        return m_unexpected;
489
12.5k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
225k
    {
488
225k
        return m_unexpected;
489
225k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
144k
    {
488
144k
        return m_unexpected;
489
144k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
37.5k
    {
488
37.5k
        return m_unexpected;
489
37.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
12.5k
    {
488
12.5k
        return m_unexpected;
489
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
75.0k
    {
488
75.0k
        return m_unexpected;
489
75.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
25.0k
    {
488
25.0k
        return m_unexpected;
489
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
286k
    {
488
286k
        return m_unexpected;
489
286k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
75.0k
    {
488
75.0k
        return m_unexpected;
489
75.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
25.0k
    {
488
25.0k
        return m_unexpected;
489
25.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
1.44k
    {
488
1.44k
        return m_unexpected;
489
1.44k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
1.08k
    {
488
1.08k
        return m_unexpected;
489
1.08k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
38.2k
    {
488
38.2k
        return m_unexpected;
489
38.2k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
76.1k
    {
488
76.1k
        return m_unexpected;
489
76.1k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
732
    {
488
732
        return m_unexpected;
489
732
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
1.08k
    {
488
1.08k
        return m_unexpected;
489
1.08k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
490
    constexpr const unexpected<E>& get_unexpected() const& noexcept
491
0
    {
492
0
        return m_unexpected;
493
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
494
    constexpr unexpected<E>&& get_unexpected() && noexcept
495
75.0k
    {
496
75.0k
        return std::move(m_unexpected);
497
75.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
12.5k
    {
496
12.5k
        return std::move(m_unexpected);
497
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
12.5k
    {
496
12.5k
        return std::move(m_unexpected);
497
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
25.0k
    {
496
25.0k
        return std::move(m_unexpected);
497
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
25.0k
    {
496
25.0k
        return std::move(m_unexpected);
497
25.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &&
498
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
499
    {
500
        return std::move(m_unexpected);
501
    }
502
503
    SCN_NODISCARD constexpr bool has_value() const noexcept
504
5.44M
    {
505
5.44M
        return m_has_value;
506
5.44M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
160k
    {
505
160k
        return m_has_value;
506
160k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
106k
    {
505
106k
        return m_has_value;
506
106k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
1.01M
    {
505
1.01M
        return m_has_value;
506
1.01M
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
880k
    {
505
880k
        return m_has_value;
506
880k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
193k
    {
505
193k
        return m_has_value;
506
193k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
128k
    {
505
128k
        return m_has_value;
506
128k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
192k
    {
505
192k
        return m_has_value;
506
192k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
128k
    {
505
128k
        return m_has_value;
506
128k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
921k
    {
505
921k
        return m_has_value;
506
921k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
192k
    {
505
192k
        return m_has_value;
506
192k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
128k
    {
505
128k
        return m_has_value;
506
128k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
188k
    {
505
188k
        return m_has_value;
506
188k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
182k
    {
505
182k
        return m_has_value;
506
182k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
315k
    {
505
315k
        return m_has_value;
506
315k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
374k
    {
505
374k
        return m_has_value;
506
374k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
155k
    {
505
155k
        return m_has_value;
506
155k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
182k
    {
505
182k
        return m_has_value;
506
182k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
507
508
    template <typename... Args>
509
    void construct(Args&&... args) noexcept(
510
        std::is_nothrow_constructible_v<T, Args...>)
511
0
    {
512
0
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
513
0
        m_has_value = true;
514
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
515
    template <typename... Args>
516
    void construct_unexpected(Args&&... args) noexcept(
517
        std::is_nothrow_constructible_v<E, Args...>)
518
75.0k
    {
519
75.0k
        scn::detail::construct_at(&get_unexpected(),
520
75.0k
                                  std::forward<Args>(args)...);
521
75.0k
        m_has_value = false;
522
75.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
12.5k
    {
519
12.5k
        scn::detail::construct_at(&get_unexpected(),
520
12.5k
                                  std::forward<Args>(args)...);
521
12.5k
        m_has_value = false;
522
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
12.5k
    {
519
12.5k
        scn::detail::construct_at(&get_unexpected(),
520
12.5k
                                  std::forward<Args>(args)...);
521
12.5k
        m_has_value = false;
522
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
25.0k
    {
519
25.0k
        scn::detail::construct_at(&get_unexpected(),
520
25.0k
                                  std::forward<Args>(args)...);
521
25.0k
        m_has_value = false;
522
25.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
25.0k
    {
519
25.0k
        scn::detail::construct_at(&get_unexpected(),
520
25.0k
                                  std::forward<Args>(args)...);
521
25.0k
        m_has_value = false;
522
25.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
523
524
    // No-op, because T and E are trivially destructible
525
75.0k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
12.5k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
12.5k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
25.0k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
25.0k
    static constexpr void destroy_value() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_value()
526
0
    static constexpr void destroy_unexpected() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_unexpected()
527
528
private:
529
    union {
530
        T m_value;
531
        unexpected<E> m_unexpected;
532
        char m_deferred_init;
533
    };
534
    bool m_has_value;
535
};
536
537
template <typename E>
538
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
539
#if SCN_STD >= SCN_STD_20
540
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
541
#else
542
    constexpr expected_storage_base() noexcept
543
1.92M
        : m_deferred_init(), m_has_value(true)
544
1.92M
    {
545
1.92M
    }
546
#endif
547
548
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
549
        : m_deferred_init(), m_has_value(false)
550
    {
551
    }
552
553
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
554
        : m_has_value(true)
555
    {
556
    }
557
558
    template <typename... Args,
559
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
560
    explicit constexpr expected_storage_base(
561
        unexpect_t,
562
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
563
656k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
564
656k
          m_has_value(false)
565
656k
    {
566
656k
    }
567
568
    constexpr unexpected<E>& get_unexpected() & noexcept
569
671k
    {
570
671k
        return m_unexpected;
571
671k
    }
572
    constexpr const unexpected<E>& get_unexpected() const& noexcept
573
    {
574
        return m_unexpected;
575
    }
576
    constexpr unexpected<E>&& get_unexpected() && noexcept
577
    {
578
        return std::move(m_unexpected);
579
    }
580
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
581
    {
582
        return std::move(m_unexpected);
583
    }
584
585
    SCN_NODISCARD constexpr bool has_value() const noexcept
586
5.28M
    {
587
5.28M
        return m_has_value;
588
5.28M
    }
589
590
    template <typename... Args>
591
    void construct(Args&&...) noexcept
592
    {
593
        m_has_value = true;
594
    }
595
    template <typename... Args>
596
    void construct_unexpected(Args&&... args) noexcept(
597
        std::is_nothrow_constructible_v<E, Args...>)
598
    {
599
        scn::detail::construct_at(&get_unexpected(),
600
                                  std::forward<Args>(args)...);
601
        m_has_value = false;
602
    }
603
604
    static constexpr void destroy_value() noexcept {}
605
    static constexpr void destroy_unexpected() noexcept {}
606
607
private:
608
    union {
609
        unexpected<E> m_unexpected;
610
        char m_deferred_init;
611
    };
612
    bool m_has_value;
613
};
614
615
/**
616
 * Implementation of `std::max` without including `<algorithm>`
617
 */
618
template <typename T>
619
constexpr T max(T a, T b) noexcept
620
0
{
621
0
    return (a < b) ? b : a;
622
0
}
623
624
template <typename T, typename E>
625
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
626
246k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
246k
    {
628
246k
        construct();
629
246k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
26.7k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
26.7k
    {
628
26.7k
        construct();
629
26.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
26.7k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
26.7k
    {
628
26.7k
        construct();
629
26.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
32.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
32.2k
    {
628
32.2k
        construct();
629
32.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
32.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
32.2k
    {
628
32.2k
        construct();
629
32.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
32.0k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
32.0k
    {
628
32.0k
        construct();
629
32.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
32.0k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
32.0k
    {
628
32.0k
        construct();
629
32.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
32.0k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
32.0k
    {
628
32.0k
        construct();
629
32.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
626
32.0k
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
32.0k
    {
628
32.0k
        construct();
629
32.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
630
631
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
632
        : m_has_value(false)
633
    {
634
    }
635
636
    template <typename... Args,
637
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
638
    explicit constexpr expected_storage_base(
639
        std::in_place_t,
640
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
641
0
        : m_has_value(true)
642
0
    {
643
0
        construct(std::forward<Args>(args)...);
644
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
645
646
    template <typename... Args,
647
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
648
    explicit constexpr expected_storage_base(
649
        unexpect_t,
650
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
651
150k
        : m_has_value(false)
652
150k
    {
653
150k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
150k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
12.5k
        : m_has_value(false)
652
12.5k
    {
653
12.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
12.5k
        : m_has_value(false)
652
12.5k
    {
653
12.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
12.5k
        : m_has_value(false)
652
12.5k
    {
653
12.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
12.5k
        : m_has_value(false)
652
12.5k
    {
653
12.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
25.0k
        : m_has_value(false)
652
25.0k
    {
653
25.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
25.0k
        : m_has_value(false)
652
25.0k
    {
653
25.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
25.0k
        : m_has_value(false)
652
25.0k
    {
653
25.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
25.0k
        : m_has_value(false)
652
25.0k
    {
653
25.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
25.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
655
656
    ~expected_storage_base()
657
396k
    {
658
396k
        if (has_value()) {
659
96.0k
            destroy_value();
660
96.0k
        }
661
300k
        else {
662
300k
            destroy_unexpected();
663
300k
        }
664
396k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
39.2k
    {
658
39.2k
        if (has_value()) {
659
14.2k
            destroy_value();
660
14.2k
        }
661
25.0k
        else {
662
25.0k
            destroy_unexpected();
663
25.0k
        }
664
39.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
39.2k
    {
658
39.2k
        if (has_value()) {
659
14.2k
            destroy_value();
660
14.2k
        }
661
25.0k
        else {
662
25.0k
            destroy_unexpected();
663
25.0k
        }
664
39.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
44.7k
    {
658
44.7k
        if (has_value()) {
659
19.7k
            destroy_value();
660
19.7k
        }
661
25.0k
        else {
662
25.0k
            destroy_unexpected();
663
25.0k
        }
664
44.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
44.7k
    {
658
44.7k
        if (has_value()) {
659
19.7k
            destroy_value();
660
19.7k
        }
661
25.0k
        else {
662
25.0k
            destroy_unexpected();
663
25.0k
        }
664
44.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
57.0k
    {
658
57.0k
        if (has_value()) {
659
7.03k
            destroy_value();
660
7.03k
        }
661
50.0k
        else {
662
50.0k
            destroy_unexpected();
663
50.0k
        }
664
57.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
57.0k
    {
658
57.0k
        if (has_value()) {
659
7.03k
            destroy_value();
660
7.03k
        }
661
50.0k
        else {
662
50.0k
            destroy_unexpected();
663
50.0k
        }
664
57.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
57.0k
    {
658
57.0k
        if (has_value()) {
659
7.03k
            destroy_value();
660
7.03k
        }
661
50.0k
        else {
662
50.0k
            destroy_unexpected();
663
50.0k
        }
664
57.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
57.0k
    {
658
57.0k
        if (has_value()) {
659
7.03k
            destroy_value();
660
7.03k
        }
661
50.0k
        else {
662
50.0k
            destroy_unexpected();
663
50.0k
        }
664
57.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
665
666
    constexpr T& get_value() & noexcept
667
438k
    {
668
438k
        return *value_ptr();
669
438k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
55.1k
    {
668
55.1k
        return *value_ptr();
669
55.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
55.1k
    {
668
55.1k
        return *value_ptr();
669
55.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
71.6k
    {
668
71.6k
        return *value_ptr();
669
71.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
71.6k
    {
668
71.6k
        return *value_ptr();
669
71.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
46.1k
    {
668
46.1k
        return *value_ptr();
669
46.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
46.1k
    {
668
46.1k
        return *value_ptr();
669
46.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
46.1k
    {
668
46.1k
        return *value_ptr();
669
46.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
46.1k
    {
668
46.1k
        return *value_ptr();
669
46.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
670
    constexpr const T& get_value() const& noexcept
671
    {
672
        return *value_ptr();
673
    }
674
    constexpr T&& get_value() && noexcept
675
0
    {
676
0
        return std::move(*value_ptr());
677
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
678
    constexpr const T&& get_value() const&& noexcept
679
    {
680
        return std::move(*value_ptr());
681
    }
682
683
    constexpr unexpected<E>& get_unexpected() & noexcept
684
0
    {
685
0
        return *unexpected_ptr();
686
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
687
    constexpr const unexpected<E>& get_unexpected() const& noexcept
688
    {
689
        return *unexpected_ptr();
690
    }
691
    constexpr unexpected<E>&& get_unexpected() && noexcept
692
150k
    {
693
150k
        return std::move(*unexpected_ptr());
694
150k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
12.5k
    {
693
12.5k
        return std::move(*unexpected_ptr());
694
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
12.5k
    {
693
12.5k
        return std::move(*unexpected_ptr());
694
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
12.5k
    {
693
12.5k
        return std::move(*unexpected_ptr());
694
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
12.5k
    {
693
12.5k
        return std::move(*unexpected_ptr());
694
12.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
25.0k
    {
693
25.0k
        return std::move(*unexpected_ptr());
694
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
25.0k
    {
693
25.0k
        return std::move(*unexpected_ptr());
694
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
25.0k
    {
693
25.0k
        return std::move(*unexpected_ptr());
694
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
692
25.0k
    {
693
25.0k
        return std::move(*unexpected_ptr());
694
25.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
695
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
696
    {
697
        return std::move(*unexpected_ptr());
698
    }
699
700
    SCN_NODISCARD constexpr bool has_value() const noexcept
701
1.38M
    {
702
1.38M
        return m_has_value;
703
1.38M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
146k
    {
702
146k
        return m_has_value;
703
146k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
146k
    {
702
146k
        return m_has_value;
703
146k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
173k
    {
702
173k
        return m_has_value;
703
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
173k
    {
702
173k
        return m_has_value;
703
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
185k
    {
702
185k
        return m_has_value;
703
185k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
185k
    {
702
185k
        return m_has_value;
703
185k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
185k
    {
702
185k
        return m_has_value;
703
185k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
185k
    {
702
185k
        return m_has_value;
703
185k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
704
705
    template <typename... Args>
706
    void construct(Args&&... args) noexcept(
707
        std::is_nothrow_constructible_v<T, Args...>)
708
246k
    {
709
246k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
246k
        m_has_value = true;
711
246k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
26.7k
    {
709
26.7k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
26.7k
        m_has_value = true;
711
26.7k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
26.7k
    {
709
26.7k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
26.7k
        m_has_value = true;
711
26.7k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
32.2k
    {
709
32.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
32.2k
        m_has_value = true;
711
32.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
32.2k
    {
709
32.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
32.2k
        m_has_value = true;
711
32.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
32.0k
    {
709
32.0k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
32.0k
        m_has_value = true;
711
32.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
32.0k
    {
709
32.0k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
32.0k
        m_has_value = true;
711
32.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
32.0k
    {
709
32.0k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
32.0k
        m_has_value = true;
711
32.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
708
32.0k
    {
709
32.0k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
32.0k
        m_has_value = true;
711
32.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
712
    template <typename... Args>
713
    void construct_unexpected(Args&&... args) noexcept(
714
        std::is_nothrow_constructible_v<E, Args...>)
715
300k
    {
716
300k
        scn::detail::construct_at(unexpected_ptr(),
717
300k
                                  std::forward<Args>(args)...);
718
300k
        m_has_value = false;
719
300k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
12.5k
    {
716
12.5k
        scn::detail::construct_at(unexpected_ptr(),
717
12.5k
                                  std::forward<Args>(args)...);
718
12.5k
        m_has_value = false;
719
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
12.5k
    {
716
12.5k
        scn::detail::construct_at(unexpected_ptr(),
717
12.5k
                                  std::forward<Args>(args)...);
718
12.5k
        m_has_value = false;
719
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
12.5k
    {
716
12.5k
        scn::detail::construct_at(unexpected_ptr(),
717
12.5k
                                  std::forward<Args>(args)...);
718
12.5k
        m_has_value = false;
719
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
12.5k
    {
716
12.5k
        scn::detail::construct_at(unexpected_ptr(),
717
12.5k
                                  std::forward<Args>(args)...);
718
12.5k
        m_has_value = false;
719
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
12.5k
    {
716
12.5k
        scn::detail::construct_at(unexpected_ptr(),
717
12.5k
                                  std::forward<Args>(args)...);
718
12.5k
        m_has_value = false;
719
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
12.5k
    {
716
12.5k
        scn::detail::construct_at(unexpected_ptr(),
717
12.5k
                                  std::forward<Args>(args)...);
718
12.5k
        m_has_value = false;
719
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
12.5k
    {
716
12.5k
        scn::detail::construct_at(unexpected_ptr(),
717
12.5k
                                  std::forward<Args>(args)...);
718
12.5k
        m_has_value = false;
719
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
12.5k
    {
716
12.5k
        scn::detail::construct_at(unexpected_ptr(),
717
12.5k
                                  std::forward<Args>(args)...);
718
12.5k
        m_has_value = false;
719
12.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
25.0k
    {
716
25.0k
        scn::detail::construct_at(unexpected_ptr(),
717
25.0k
                                  std::forward<Args>(args)...);
718
25.0k
        m_has_value = false;
719
25.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
25.0k
    {
716
25.0k
        scn::detail::construct_at(unexpected_ptr(),
717
25.0k
                                  std::forward<Args>(args)...);
718
25.0k
        m_has_value = false;
719
25.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
25.0k
    {
716
25.0k
        scn::detail::construct_at(unexpected_ptr(),
717
25.0k
                                  std::forward<Args>(args)...);
718
25.0k
        m_has_value = false;
719
25.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
25.0k
    {
716
25.0k
        scn::detail::construct_at(unexpected_ptr(),
717
25.0k
                                  std::forward<Args>(args)...);
718
25.0k
        m_has_value = false;
719
25.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
25.0k
    {
716
25.0k
        scn::detail::construct_at(unexpected_ptr(),
717
25.0k
                                  std::forward<Args>(args)...);
718
25.0k
        m_has_value = false;
719
25.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
25.0k
    {
716
25.0k
        scn::detail::construct_at(unexpected_ptr(),
717
25.0k
                                  std::forward<Args>(args)...);
718
25.0k
        m_has_value = false;
719
25.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
25.0k
    {
716
25.0k
        scn::detail::construct_at(unexpected_ptr(),
717
25.0k
                                  std::forward<Args>(args)...);
718
25.0k
        m_has_value = false;
719
25.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
715
25.0k
    {
716
25.0k
        scn::detail::construct_at(unexpected_ptr(),
717
25.0k
                                  std::forward<Args>(args)...);
718
25.0k
        m_has_value = false;
719
25.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
720
721
    void destroy_value() noexcept
722
246k
    {
723
246k
        scn::detail::destroy_at(value_ptr());
724
246k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
26.7k
    {
723
26.7k
        scn::detail::destroy_at(value_ptr());
724
26.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
26.7k
    {
723
26.7k
        scn::detail::destroy_at(value_ptr());
724
26.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
32.2k
    {
723
32.2k
        scn::detail::destroy_at(value_ptr());
724
32.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
32.2k
    {
723
32.2k
        scn::detail::destroy_at(value_ptr());
724
32.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
32.0k
    {
723
32.0k
        scn::detail::destroy_at(value_ptr());
724
32.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
32.0k
    {
723
32.0k
        scn::detail::destroy_at(value_ptr());
724
32.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
32.0k
    {
723
32.0k
        scn::detail::destroy_at(value_ptr());
724
32.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
32.0k
    {
723
32.0k
        scn::detail::destroy_at(value_ptr());
724
32.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
725
    void destroy_unexpected() noexcept
726
300k
    {
727
300k
        scn::detail::destroy_at(unexpected_ptr());
728
300k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
25.0k
    {
727
25.0k
        scn::detail::destroy_at(unexpected_ptr());
728
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
25.0k
    {
727
25.0k
        scn::detail::destroy_at(unexpected_ptr());
728
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
25.0k
    {
727
25.0k
        scn::detail::destroy_at(unexpected_ptr());
728
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
25.0k
    {
727
25.0k
        scn::detail::destroy_at(unexpected_ptr());
728
25.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
50.0k
    {
727
50.0k
        scn::detail::destroy_at(unexpected_ptr());
728
50.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
50.0k
    {
727
50.0k
        scn::detail::destroy_at(unexpected_ptr());
728
50.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
50.0k
    {
727
50.0k
        scn::detail::destroy_at(unexpected_ptr());
728
50.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
50.0k
    {
727
50.0k
        scn::detail::destroy_at(unexpected_ptr());
728
50.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
729
730
private:
731
    T* value_ptr() noexcept
732
930k
    {
733
930k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
930k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
108k
    {
733
108k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
108k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
108k
    {
733
108k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
108k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
136k
    {
733
136k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
136k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
136k
    {
733
136k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
136k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
110k
    {
733
110k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
110k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
110k
    {
733
110k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
110k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
110k
    {
733
110k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
110k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
110k
    {
733
110k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
110k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
735
    const T* value_ptr() const noexcept
736
    {
737
        return reinterpret_cast<const T*>(
738
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
739
    }
740
741
    SCN_GCC_PUSH
742
    SCN_GCC_IGNORE("-Wcast-align")
743
    unexpected<E>* unexpected_ptr() noexcept
744
750k
    {
745
750k
        return reinterpret_cast<unexpected<E>*>(
746
750k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
750k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
62.5k
    {
745
62.5k
        return reinterpret_cast<unexpected<E>*>(
746
62.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
62.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
62.5k
    {
745
62.5k
        return reinterpret_cast<unexpected<E>*>(
746
62.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
62.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
62.5k
    {
745
62.5k
        return reinterpret_cast<unexpected<E>*>(
746
62.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
62.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
62.5k
    {
745
62.5k
        return reinterpret_cast<unexpected<E>*>(
746
62.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
62.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
125k
    {
745
125k
        return reinterpret_cast<unexpected<E>*>(
746
125k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
125k
    {
745
125k
        return reinterpret_cast<unexpected<E>*>(
746
125k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
125k
    {
745
125k
        return reinterpret_cast<unexpected<E>*>(
746
125k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
125k
    {
745
125k
        return reinterpret_cast<unexpected<E>*>(
746
125k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
125k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
748
    const unexpected<E>* unexpected_ptr() const noexcept
749
    {
750
        return reinterpret_cast<const unexpected<E>*>(
751
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
752
    }
753
    SCN_GCC_POP
754
755
    static constexpr std::size_t required_size =
756
        detail::max(sizeof(T), sizeof(unexpected<E>));
757
    static constexpr std::size_t required_alignment =
758
        detail::max(alignof(T), alignof(unexpected<E>));
759
760
    alignas(required_alignment) unsigned char m_memory[required_size];
761
    bool m_has_value;
762
};
763
764
template <typename E>
765
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
766
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
767
768
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
769
        : m_has_value(false)
770
    {
771
    }
772
773
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
774
        : m_has_value(true)
775
    {
776
    }
777
778
    template <typename... Args,
779
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
780
    explicit constexpr expected_storage_base(
781
        unexpect_t,
782
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
783
        : m_has_value(false)
784
    {
785
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
786
    }
787
788
    ~expected_storage_base()
789
    {
790
        if (!has_value()) {
791
            destroy_unexpected();
792
        }
793
    }
794
795
    constexpr unexpected<E>& get_unexpected() & noexcept
796
    {
797
        return *unexpected_ptr();
798
    }
799
    constexpr const unexpected<E>& get_unexpected() const& noexcept
800
    {
801
        return *unexpected_ptr();
802
    }
803
    constexpr unexpected<E>&& get_unexpected() && noexcept
804
    {
805
        return std::move(*unexpected_ptr());
806
    }
807
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
808
    {
809
        return std::move(*unexpected_ptr());
810
    }
811
812
    SCN_NODISCARD constexpr bool has_value() const noexcept
813
    {
814
        return m_has_value;
815
    }
816
817
    template <typename... Args>
818
    constexpr void construct(Args&&...) noexcept
819
    {
820
        m_has_value = true;
821
    }
822
    template <typename... Args>
823
    void construct_unexpected(Args&&... args) noexcept(
824
        std::is_nothrow_constructible_v<E, Args...>)
825
    {
826
        scn::detail::construct_at(unexpected_ptr(),
827
                                  std::forward<Args>(args)...);
828
        m_has_value = false;
829
    }
830
831
    static constexpr void destroy_value() noexcept {}
832
    void destroy_unexpected() noexcept
833
    {
834
        scn::detail::destroy_at(unexpected_ptr());
835
    }
836
837
private:
838
    SCN_GCC_PUSH
839
    SCN_GCC_IGNORE("-Wcast-align")
840
    unexpected<E>* unexpected_ptr()
841
    {
842
        return reinterpret_cast<unexpected<E>*>(m_memory);
843
    }
844
    const unexpected<E>* unexpected_ptr() const
845
    {
846
        return reinterpret_cast<const unexpected<E>*>(m_memory);
847
    }
848
    SCN_GCC_POP
849
850
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
851
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
852
853
    alignas(required_alignment) unsigned char m_memory[required_size];
854
    bool m_has_value;
855
};
856
857
template <typename T, typename U>
858
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
859
860
template <typename T, typename E, typename Enable = void>
861
struct expected_operations_base;
862
863
template <typename T, typename E>
864
struct SCN_TRIVIAL_ABI expected_operations_base<
865
    T,
866
    E,
867
    std::enable_if_t<(std::is_void_v<T> || std::is_trivially_copyable_v<T>) &&
868
                     std::is_trivially_copyable_v<E>>>
869
    : expected_storage_base<T, E> {
870
    using expected_storage_base<T, E>::expected_storage_base;
871
};
872
873
template <typename T, typename E>
874
struct SCN_TRIVIAL_ABI expected_operations_base<
875
    T,
876
    E,
877
    std::enable_if_t<!std::is_void_v<T> && (!std::is_trivially_copyable_v<T> ||
878
                                            !std::is_trivially_copyable_v<E>)>>
879
    : expected_storage_base<T, E> {
880
    using expected_storage_base<T, E>::expected_storage_base;
881
882
    expected_operations_base(const expected_operations_base& other) noexcept(
883
        std::is_nothrow_copy_constructible_v<T> &&
884
        std::is_nothrow_copy_constructible_v<E>)
885
        : expected_storage_base<T, E>(deferred_init_tag)
886
    {
887
        construct_common(other);
888
    }
889
    expected_operations_base(expected_operations_base&& other) noexcept(
890
        std::is_nothrow_move_constructible_v<T> &&
891
        std::is_nothrow_move_constructible_v<E>)
892
        : expected_storage_base<T, E>(deferred_init_tag)
893
    {
894
        construct_common(std::move(other));
895
    }
896
897
    expected_operations_base& operator=(const expected_operations_base& other)
898
    // gcc 11 and lower evaluate noexcept in a weird context
899
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
900
        noexcept(noexcept(
901
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
902
#else
903
        noexcept(noexcept(assign_common(other)))
904
#endif
905
    {
906
        assign_common(other);
907
        return *this;
908
    }
909
    expected_operations_base& operator=(expected_operations_base&& other)
910
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
911
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
912
                              .assign_common(std::move(other))))
913
#else
914
        noexcept(noexcept(assign_common(std::move(other))))
915
#endif
916
225k
    {
917
225k
        assign_common(std::move(other));
918
225k
        return *this;
919
225k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
12.5k
    {
917
12.5k
        assign_common(std::move(other));
918
12.5k
        return *this;
919
12.5k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
12.5k
    {
917
12.5k
        assign_common(std::move(other));
918
12.5k
        return *this;
919
12.5k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
12.5k
    {
917
12.5k
        assign_common(std::move(other));
918
12.5k
        return *this;
919
12.5k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
12.5k
    {
917
12.5k
        assign_common(std::move(other));
918
12.5k
        return *this;
919
12.5k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
12.5k
    {
917
12.5k
        assign_common(std::move(other));
918
12.5k
        return *this;
919
12.5k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
12.5k
    {
917
12.5k
        assign_common(std::move(other));
918
12.5k
        return *this;
919
12.5k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
25.0k
    {
917
25.0k
        assign_common(std::move(other));
918
25.0k
        return *this;
919
25.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
25.0k
    {
917
25.0k
        assign_common(std::move(other));
918
25.0k
        return *this;
919
25.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
25.0k
    {
917
25.0k
        assign_common(std::move(other));
918
25.0k
        return *this;
919
25.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
25.0k
    {
917
25.0k
        assign_common(std::move(other));
918
25.0k
        return *this;
919
25.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
25.0k
    {
917
25.0k
        assign_common(std::move(other));
918
25.0k
        return *this;
919
25.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
25.0k
    {
917
25.0k
        assign_common(std::move(other));
918
25.0k
        return *this;
919
25.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
920
921
    ~expected_operations_base() = default;
922
923
private:
924
    template <typename Other>
925
    void construct_common(Other&& other) noexcept(
926
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
927
                     .construct(std::forward<Other>(other).get_value())) &&
928
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
929
                     .construct_unexpected(
930
                         std::forward<Other>(other).get_unexpected())))
931
0
    {
932
0
        if (other.has_value()) {
933
0
            this->construct(std::forward<Other>(other).get_value());
934
0
        }
935
0
        else {
936
0
            this->construct_unexpected(
937
0
                std::forward<Other>(other).get_unexpected());
938
0
        }
939
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
940
941
    template <typename Other>
942
    void assign_common(Other&& other)
943
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
944
        noexcept(
945
            noexcept(SCN_DECLVAL(expected_operations_base&)
946
                         .reassign_value(std::forward<Other>(other))) &&
947
            noexcept(SCN_DECLVAL(expected_operations_base&)
948
                         .reassign_unexpected(std::forward<Other>(other))) &&
949
            noexcept(SCN_DECLVAL(expected_operations_base&)
950
                         .assign_value_over_unexpected(
951
                             std::forward<Other>(other))) &&
952
            noexcept(
953
                SCN_DECLVAL(expected_operations_base&)
954
                    .assign_unexpected_over_value(std::forward<Other>(other))))
955
#else
956
        noexcept(
957
            noexcept(reassign_value(std::forward<Other>(other))) &&
958
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
959
            noexcept(
960
                assign_value_over_unexpected(std::forward<Other>(other))) &&
961
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
962
#endif
963
225k
    {
964
225k
        if (this->has_value()) {
965
225k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
225k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
225k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
12.5k
    {
964
12.5k
        if (this->has_value()) {
965
12.5k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
12.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
12.5k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
12.5k
    {
964
12.5k
        if (this->has_value()) {
965
12.5k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
12.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
12.5k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
12.5k
    {
964
12.5k
        if (this->has_value()) {
965
12.5k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
12.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
12.5k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
12.5k
    {
964
12.5k
        if (this->has_value()) {
965
12.5k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
12.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
12.5k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
12.5k
    {
964
12.5k
        if (this->has_value()) {
965
12.5k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
12.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
12.5k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
12.5k
    {
964
12.5k
        if (this->has_value()) {
965
12.5k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
12.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
12.5k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
25.0k
    {
964
25.0k
        if (this->has_value()) {
965
25.0k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
25.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
25.0k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
25.0k
    {
964
25.0k
        if (this->has_value()) {
965
25.0k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
25.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
25.0k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
25.0k
    {
964
25.0k
        if (this->has_value()) {
965
25.0k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
25.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
25.0k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
25.0k
    {
964
25.0k
        if (this->has_value()) {
965
25.0k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
25.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
25.0k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
25.0k
    {
964
25.0k
        if (this->has_value()) {
965
25.0k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
25.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
25.0k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
25.0k
    {
964
25.0k
        if (this->has_value()) {
965
25.0k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
25.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
25.0k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
976
977
    template <typename Other>
978
    void reassign_value(Other&& other) noexcept(
979
        std::is_nothrow_assignable_v<
980
            T,
981
            decltype(std::forward<Other>(other).get_value())>)
982
0
    {
983
0
        this->get_value() = std::forward<Other>(other).get_value();
984
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
985
986
    template <typename Other>
987
    void reassign_unexpected(Other&& other) noexcept(
988
        std::is_nothrow_assignable_v<
989
            E,
990
            decltype(std::forward<Other>(other).get_unexpected())>)
991
0
    {
992
0
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
993
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
994
995
#if SCN_HAS_EXCEPTIONS
996
    void assign_value_over_unexpected(
997
        const expected_operations_base&
998
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
999
                            std::is_nothrow_move_constructible_v<T>)
1000
    {
1001
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
1002
            this->destroy_unexpected();
1003
            this->construct(other.get_value());
1004
        }
1005
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
1006
            T tmp = other.get_value();
1007
            this->destroy_unexpected();
1008
            this->construct(std::move(tmp));
1009
        }
1010
        else {
1011
            auto tmp = std::move(this->get_unexpecetd());
1012
            this->destroy_unexpected();
1013
1014
            try {
1015
                this->construct(other.get());
1016
            }
1017
            catch (...) {
1018
                this->construct_unexpected(std::move(tmp));
1019
                throw;
1020
            }
1021
        }
1022
    }
1023
1024
    void
1025
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
1026
        std::is_nothrow_move_constructible_v<T>)
1027
0
    {
1028
0
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
1029
0
            this->destroy_unexpected();
1030
0
            this->construct(std::move(other).get_value());
1031
        }
1032
        else {
1033
            auto tmp = std::move(this->get_unexpected());
1034
            this->destroy_unexpected();
1035
1036
            try {
1037
                this->construct(std::move(other).get_value());
1038
            }
1039
            catch (...) {
1040
                this->construct_unexpected(std::move(tmp));
1041
                throw;
1042
            }
1043
        }
1044
0
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1045
#else
1046
    template <typename Other>
1047
    void assing_value_over_unexpected(Other&& other) noexcept
1048
    {
1049
        this->destroy_unexpected();
1050
        this->construct_value(std::forward<Other>(other).get_value());
1051
    }
1052
#endif
1053
1054
    template <typename Other>
1055
    void assign_unexpected_over_value(Other&& other) noexcept(
1056
        std::is_nothrow_constructible_v<
1057
            E,
1058
            decltype(std::forward<Other>(other).get_unexpected())>)
1059
225k
    {
1060
225k
        this->destroy_value();
1061
225k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
225k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
12.5k
    {
1060
12.5k
        this->destroy_value();
1061
12.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
12.5k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
12.5k
    {
1060
12.5k
        this->destroy_value();
1061
12.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
12.5k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
12.5k
    {
1060
12.5k
        this->destroy_value();
1061
12.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
12.5k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
12.5k
    {
1060
12.5k
        this->destroy_value();
1061
12.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
12.5k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
12.5k
    {
1060
12.5k
        this->destroy_value();
1061
12.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
12.5k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
12.5k
    {
1060
12.5k
        this->destroy_value();
1061
12.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
12.5k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
25.0k
    {
1060
25.0k
        this->destroy_value();
1061
25.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
25.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
25.0k
    {
1060
25.0k
        this->destroy_value();
1061
25.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
25.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
25.0k
    {
1060
25.0k
        this->destroy_value();
1061
25.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
25.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
25.0k
    {
1060
25.0k
        this->destroy_value();
1061
25.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
25.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
25.0k
    {
1060
25.0k
        this->destroy_value();
1061
25.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
25.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
25.0k
    {
1060
25.0k
        this->destroy_value();
1061
25.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
25.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1063
};
1064
1065
template <typename E>
1066
struct SCN_TRIVIAL_ABI
1067
    expected_operations_base<void,
1068
                             E,
1069
                             std::enable_if_t<!std::is_trivially_copyable_v<E>>>
1070
    : expected_storage_base<void, E> {
1071
    using expected_storage_base<void, E>::expected_storage_base;
1072
1073
    expected_operations_base(const expected_operations_base& other) noexcept(
1074
        std::is_nothrow_copy_constructible_v<E>)
1075
        : expected_storage_base<void, E>(deferred_init_tag)
1076
    {
1077
        construct_common(other);
1078
    }
1079
    expected_operations_base(expected_operations_base&& other) noexcept(
1080
        std::is_nothrow_move_constructible_v<E>)
1081
        : expected_storage_base<void, E>(deferred_init_tag)
1082
    {
1083
        construct_common(std::move(other));
1084
    }
1085
1086
    expected_operations_base& operator=(const expected_operations_base& other)
1087
    // gcc 11 and lower evaluate noexcept in a weird context
1088
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1089
        noexcept(noexcept(
1090
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
1091
#else
1092
        noexcept(noexcept(assign_common(other)))
1093
#endif
1094
    {
1095
        assign_common(other);
1096
        return *this;
1097
    }
1098
    expected_operations_base& operator=(expected_operations_base&& other)
1099
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1100
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
1101
                              .assign_common(std::move(other))))
1102
#else
1103
        noexcept(noexcept(assign_common(std::move(other))))
1104
#endif
1105
    {
1106
        assign_common(std::move(other));
1107
        return *this;
1108
    }
1109
1110
    ~expected_operations_base() = default;
1111
1112
private:
1113
    template <typename Other>
1114
    void construct_common(Other&& other) noexcept(
1115
        noexcept(expected_storage_base<void, E>::construct_unexpected(
1116
            std::forward<Other>(other).get_unexpected())))
1117
    {
1118
        if (other.has_value()) {
1119
            this->construct();
1120
        }
1121
        else {
1122
            this->construct_unexpected(
1123
                std::forward<Other>(other).get_unexpected());
1124
        }
1125
    }
1126
1127
    template <typename Other>
1128
    void assign_common(Other&& other)
1129
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1130
        noexcept(
1131
            noexcept(SCN_DECLVAL(expected_operations_base&)
1132
                         .reassign_unexpected(std::forward<Other>(other))) &&
1133
            noexcept(
1134
                SCN_DECLVAL(expected_operations_base&)
1135
                    .assign_unexpected_over_value(std::forward<Other>(other))))
1136
#else
1137
        noexcept(
1138
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
1139
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
1140
#endif
1141
    {
1142
        if (this->has_value()) {
1143
            if (other.has_value()) {
1144
                return reassign_value();
1145
            }
1146
            return assign_unexpected_over_value(std::forward<Other>(other));
1147
        }
1148
1149
        if (other.has_value()) {
1150
            return assign_value_over_unexpected();
1151
        }
1152
        return reassign_unexpected(std::forward<Other>(other));
1153
    }
1154
1155
    void reassign_value() noexcept {}
1156
1157
    template <typename Other>
1158
    void reassign_unexpected(Other&& other) noexcept(
1159
        std::is_nothrow_assignable_v<
1160
            E,
1161
            decltype(std::forward<Other>(other).get_unexpected())>)
1162
    {
1163
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1164
    }
1165
1166
    void assign_value_over_unexpected() noexcept
1167
    {
1168
        this->destroy_unexpected();
1169
        this->construct();
1170
    }
1171
1172
    template <typename Other>
1173
    void assign_unexpected_over_value(Other&& other) noexcept(
1174
        std::is_nothrow_constructible_v<
1175
            E,
1176
            decltype(std::forward<Other>(other).get_unexpected())>)
1177
    {
1178
        this->destroy_value();
1179
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1180
    }
1181
};
1182
1183
/*
1184
 * Base class trickery to conditionally mark copy and move
1185
 * constructors of an expected as =deleted.
1186
 *
1187
 * We need to do this, because otherwise utilities like
1188
 * std::is_copy_constructible wouldn't work for expected: the
1189
 * constructors need to be explicitly =deleted, not just cause a
1190
 * compiler error when trying to copy a value of a non-copyable
1191
 * type.
1192
 *
1193
 * Rationale for doing this with base classes is above.
1194
 */
1195
template <
1196
    typename T,
1197
    typename E,
1198
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1199
                       std::is_copy_constructible_v<E>),
1200
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1201
                       std::is_move_constructible_v<E>)>
1202
struct expected_delete_ctor_base;
1203
1204
// Implementation for types that are both copy and move
1205
// constructible: Copy and move constructors are =defaulted
1206
template <typename T, typename E>
1207
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1208
    expected_delete_ctor_base() = default;
1209
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1210
        default;
1211
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1212
    ~expected_delete_ctor_base() = default;
1213
1214
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1215
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1216
};
1217
1218
// Implementation for types that are neither copy nor move
1219
// constructible: Copy and move constructors are =deleted
1220
template <typename T, typename E>
1221
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1222
    expected_delete_ctor_base() = default;
1223
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1224
        default;
1225
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1226
    ~expected_delete_ctor_base() = default;
1227
1228
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1229
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1230
};
1231
1232
// Implementation for types that are move constructible, but not
1233
// copy constructible Copy constructor is =deleted, but move
1234
// constructor is =defaulted
1235
template <typename T, typename E>
1236
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1237
    expected_delete_ctor_base() = default;
1238
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1239
        default;
1240
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1241
    ~expected_delete_ctor_base() = default;
1242
1243
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1244
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1245
};
1246
1247
template <typename T, typename E>
1248
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1249
    static_assert(dependent_false<T>::value,
1250
                  "Nonsensical type: copy constructible, but not move "
1251
                  "constructible");
1252
};
1253
1254
// Same as above, but for assignment
1255
template <
1256
    typename T,
1257
    typename E,
1258
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1259
                       std::is_copy_constructible_v<E> &&
1260
                       (std::is_copy_assignable_v<T> || std::is_void_v<T>) &&
1261
                       std::is_copy_assignable_v<E>),
1262
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1263
                       std::is_move_constructible_v<E> &&
1264
                       (std::is_move_assignable_v<T> || std::is_void_v<T>) &&
1265
                       std::is_move_assignable_v<E>)>
1266
struct expected_delete_assign_base;
1267
1268
template <typename T, typename E>
1269
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1270
    expected_delete_assign_base() = default;
1271
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1272
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1273
    ~expected_delete_assign_base() = default;
1274
1275
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1276
        default;
1277
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1278
        default;
1279
};
1280
1281
template <typename T, typename E>
1282
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1283
    expected_delete_assign_base() = default;
1284
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1285
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1286
    ~expected_delete_assign_base() = default;
1287
1288
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1289
        delete;
1290
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1291
        delete;
1292
};
1293
1294
template <typename T, typename E>
1295
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1296
    expected_delete_assign_base() = default;
1297
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1298
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1299
    ~expected_delete_assign_base() = default;
1300
1301
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1302
        delete;
1303
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1304
        default;
1305
};
1306
1307
template <typename T, typename E>
1308
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1309
    static_assert(dependent_false<T>::value,
1310
                  "Nonsensical type: copy assignable, but not move "
1311
                  "assignable");
1312
};
1313
1314
struct non_default_ctor_tag_t {};
1315
1316
/*
1317
 * Same as above, but for the default constructor
1318
 *
1319
 * The constructor taking a non_default_ctor_tag_t is needed, to
1320
 * signal that we're not default constructing.
1321
 */
1322
template <typename T,
1323
          typename E,
1324
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1325
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1326
    constexpr expected_default_ctor_base() = default;
1327
    constexpr explicit expected_default_ctor_base(
1328
        non_default_ctor_tag_t) noexcept
1329
3.22M
    {
1330
3.22M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
12.5k
    {
1330
12.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
80.2k
    {
1330
80.2k
    }
scn::v4::detail::expected_default_ctor_base<void, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
656k
    {
1330
656k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
12.5k
    {
1330
12.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
12.5k
    {
1330
12.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
12.5k
    {
1330
12.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
96.6k
    {
1330
96.6k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
12.5k
    {
1330
12.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
12.5k
    {
1330
12.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
25.0k
    {
1330
25.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
96.1k
    {
1330
96.1k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
25.0k
    {
1330
25.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
25.0k
    {
1330
25.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
25.0k
    {
1330
25.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
96.1k
    {
1330
96.1k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
25.0k
    {
1330
25.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
25.0k
    {
1330
25.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
440k
    {
1330
440k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
460k
    {
1330
460k
    }
scn::v4::detail::expected_default_ctor_base<long, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
369k
    {
1330
369k
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
157k
    {
1330
157k
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
187k
    {
1330
187k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
94.1k
    {
1330
94.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
77.7k
    {
1330
77.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
91.1k
    {
1330
91.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
91.1k
    {
1330
91.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
1331
};
1332
template <typename T, typename E>
1333
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1334
    constexpr expected_default_ctor_base() = delete;
1335
    constexpr explicit expected_default_ctor_base(
1336
        non_default_ctor_tag_t) noexcept
1337
    {
1338
    }
1339
};
1340
1341
template <typename T>
1342
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1343
1344
template <typename T>
1345
struct is_expected_impl : std::false_type {};
1346
template <typename T, typename E>
1347
struct is_expected_impl<expected<T, E>> : std::true_type {};
1348
template <typename T>
1349
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1350
1351
template <typename Exp>
1352
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1353
1354
template <typename Exp>
1355
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1356
1357
template <
1358
    typename F,
1359
    typename... Args,
1360
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1361
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1362
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1363
4.34k
{
1364
4.34k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
4.34k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1363
4.34k
{
1364
4.34k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
4.34k
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error const&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error const&)
1366
1367
// and_then
1368
1369
template <typename Exp,
1370
          typename F,
1371
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1372
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1373
                                                 *SCN_DECLVAL(Exp)))>
1374
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1375
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1376
    std::is_nothrow_constructible_v<Ret,
1377
                                    unexpect_t,
1378
                                    decltype(std::forward<Exp>(exp).error())>)
1379
{
1380
    static_assert(is_expected<Ret>::value, "F must return an expected");
1381
1382
    return SCN_LIKELY(exp.has_value())
1383
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1384
               : Ret(unexpect, std::forward<Exp>(exp).error());
1385
}
1386
template <typename Exp,
1387
          typename F,
1388
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1389
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1390
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1391
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1392
    std::is_nothrow_constructible_v<Ret,
1393
                                    unexpect_t,
1394
                                    decltype(std::forward<Exp>(exp).error())>)
1395
{
1396
    static_assert(is_expected<Ret>::value, "F must return an expected");
1397
1398
    return SCN_LIKELY(exp.has_value())
1399
               ? trivial_invoke(std::forward<F>(f))
1400
               : Ret(unexpect, std::forward<Exp>(exp).error());
1401
}
1402
1403
// or_else
1404
1405
template <typename Exp,
1406
          typename F,
1407
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1408
                                                 SCN_DECLVAL(Exp).error()))>
1409
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1410
    noexcept(trivial_invoke(std::forward<F>(f),
1411
                            std::forward<Exp>(exp).error())) &&
1412
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1413
{
1414
    static_assert(is_expected<Ret>::value, "F must return an expected");
1415
1416
    return SCN_LIKELY(exp.has_value())
1417
               ? Ret(std::forward<Exp>(exp))
1418
               : trivial_invoke(std::forward<F>(f),
1419
                                std::forward<Exp>(exp).error());
1420
}
1421
1422
// transform
1423
1424
template <typename Exp,
1425
          typename F,
1426
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1427
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1428
                                                 *SCN_DECLVAL(Exp)))>
1429
constexpr auto transform_impl(Exp&& exp, F&& f)
1430
{
1431
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1432
    if constexpr (std::is_void_v<Ret>) {
1433
        if (SCN_LIKELY(exp.has_value())) {
1434
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1435
            return result();
1436
        }
1437
        return result(unexpect, std::forward<Exp>(exp).error());
1438
    }
1439
    else {
1440
        return SCN_LIKELY(exp.has_value())
1441
                   ? result(trivial_invoke(std::forward<F>(f),
1442
                                           *std::forward<Exp>(exp)))
1443
                   : result(unexpect, std::forward<Exp>(exp).error());
1444
    }
1445
}
1446
template <typename Exp,
1447
          typename F,
1448
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1449
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1450
constexpr auto transform_impl(Exp&& exp, F&& f)
1451
{
1452
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1453
    if constexpr (std::is_void_v<Ret>) {
1454
        if (SCN_LIKELY(exp.has_value())) {
1455
            trivial_invoke(std::forward<F>(f));
1456
            return result();
1457
        }
1458
        return result(unexpect, std::forward<Exp>(exp).error());
1459
    }
1460
    else {
1461
        return SCN_LIKELY(exp.has_value())
1462
                   ? result(trivial_invoke(std::forward<F>(f)))
1463
                   : result(unexpect, std::forward<Exp>(exp).error());
1464
    }
1465
}
1466
1467
// transform_error
1468
1469
template <typename Exp,
1470
          typename F,
1471
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1472
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1473
                                                 SCN_DECLVAL(Exp).error()))>
1474
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1475
354k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
354k
    else {
1486
354k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
354k
        return SCN_LIKELY(exp.has_value())
1488
354k
                   ? result(*std::forward<Exp>(exp))
1489
354k
                   : result(unexpect,
1490
4.34k
                            trivial_invoke(std::forward<F>(f),
1491
4.34k
                                           std::forward<Exp>(exp).error()));
1492
354k
    }
1493
354k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1475
94.1k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
94.1k
    else {
1486
94.1k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
94.1k
        return SCN_LIKELY(exp.has_value())
1488
94.1k
                   ? result(*std::forward<Exp>(exp))
1489
94.1k
                   : result(unexpect,
1490
1.44k
                            trivial_invoke(std::forward<F>(f),
1491
1.44k
                                           std::forward<Exp>(exp).error()));
1492
94.1k
    }
1493
94.1k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1475
91.1k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
91.1k
    else {
1486
91.1k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
91.1k
        return SCN_LIKELY(exp.has_value())
1488
91.1k
                   ? result(*std::forward<Exp>(exp))
1489
91.1k
                   : result(unexpect,
1490
1.08k
                            trivial_invoke(std::forward<F>(f),
1491
1.08k
                                           std::forward<Exp>(exp).error()));
1492
91.1k
    }
1493
91.1k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1475
77.7k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
77.7k
    else {
1486
77.7k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
77.7k
        return SCN_LIKELY(exp.has_value())
1488
77.7k
                   ? result(*std::forward<Exp>(exp))
1489
77.7k
                   : result(unexpect,
1490
732
                            trivial_invoke(std::forward<F>(f),
1491
732
                                           std::forward<Exp>(exp).error()));
1492
77.7k
    }
1493
77.7k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1475
91.1k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
91.1k
    else {
1486
91.1k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
91.1k
        return SCN_LIKELY(exp.has_value())
1488
91.1k
                   ? result(*std::forward<Exp>(exp))
1489
91.1k
                   : result(unexpect,
1490
1.08k
                            trivial_invoke(std::forward<F>(f),
1491
1.08k
                                           std::forward<Exp>(exp).error()));
1492
91.1k
    }
1493
91.1k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
1494
template <typename Exp,
1495
          typename F,
1496
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1497
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1498
                                                 SCN_DECLVAL(Exp).error()))>
1499
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1500
{
1501
    if constexpr (std::is_void_v<Ret>) {
1502
        using result = expected<expected_value_type<Exp>, monostate>;
1503
        if (SCN_LIKELY(exp.has_value())) {
1504
            return result();
1505
        }
1506
1507
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1508
        return result(unexpect, monostate{});
1509
    }
1510
    else {
1511
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1512
        return SCN_LIKELY(exp.has_value())
1513
                   ? result()
1514
                   : result(unexpect,
1515
                            trivial_invoke(std::forward<F>(f),
1516
                                           std::forward<Exp>(exp).error()));
1517
    }
1518
}
1519
1520
template <class T, class E, class U, class G, class UR, class GR>
1521
using enable_from_other =
1522
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1523
                     std::is_constructible_v<E, GR> &&
1524
                     !std::is_constructible_v<T, expected<U, G>&> &&
1525
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1526
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1527
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1528
                     !std::is_convertible_v<expected<U, G>&, T> &&
1529
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1530
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1531
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1532
}  // namespace detail
1533
1534
/**
1535
 * \see `std::expected`
1536
 */
1537
template <typename T, typename E>
1538
class SCN_TRIVIAL_ABI expected
1539
    : private detail::expected_operations_base<T, E>,
1540
      private detail::expected_delete_ctor_base<T, E>,
1541
      private detail::expected_delete_assign_base<T, E>,
1542
      private detail::expected_default_ctor_base<T, E> {
1543
    using base = detail::expected_operations_base<T, E>;
1544
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1545
1546
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1547
                  "T must be void or Destructible");
1548
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1549
1550
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1551
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1552
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1553
1554
public:
1555
    using value_type = T;
1556
    using error_type = E;
1557
    using unexpected_type = unexpected<E>;
1558
1559
    template <typename U>
1560
    using rebind = expected<U, error_type>;
1561
1562
    // Special member functions are defaulted, implementations provided
1563
    // by base classes
1564
1565
2.29M
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
26.7k
    constexpr expected() = default;
scn::v4::expected<void, scn::v4::scan_error>::expected()
Line
Count
Source
1565
1.92M
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
26.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
26.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
32.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
32.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
32.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
32.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
32.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
32.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
32.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
32.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
32.0k
    constexpr expected() = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
1566
1567
    constexpr expected(const expected&) = default;
1568
    constexpr expected(expected&&) = default;
1569
    constexpr expected& operator=(const expected&) = default;
1570
225k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>&&)
Line
Count
Source
1570
12.5k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>&&)
Line
Count
Source
1570
12.5k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>&&)
Line
Count
Source
1570
12.5k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>&&)
Line
Count
Source
1570
12.5k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>&&)
Line
Count
Source
1570
12.5k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>&&)
Line
Count
Source
1570
12.5k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>&&)
Line
Count
Source
1570
25.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>&&)
Line
Count
Source
1570
25.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>&&)
Line
Count
Source
1570
25.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>&&)
Line
Count
Source
1570
25.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>&&)
Line
Count
Source
1570
25.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>&&)
Line
Count
Source
1570
25.0k
    constexpr expected& operator=(expected&&) = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
1571
1572
    ~expected() = default;
1573
1574
    /**
1575
     * Construct an expected value.
1576
     * Intentionally non-explicit, to make constructing an expected
1577
     * value as transparent as possible.
1578
     */
1579
    template <typename U = value_type,
1580
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1581
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1582
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1583
1.33M
        : base(std::in_place, std::forward<U>(val)),
1584
1.33M
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.33M
    {
1586
1.33M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1583
42.6k
        : base(std::in_place, std::forward<U>(val)),
1584
42.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
42.6k
    {
1586
42.6k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
1583
59.1k
        : base(std::in_place, std::forward<U>(val)),
1584
59.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
59.1k
    {
1586
59.1k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1583
21.1k
        : base(std::in_place, std::forward<U>(val)),
1584
21.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
21.1k
    {
1586
21.1k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
1583
21.1k
        : base(std::in_place, std::forward<U>(val)),
1584
21.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
21.1k
    {
1586
21.1k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1583
253k
        : base(std::in_place, std::forward<U>(val)),
1584
253k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
253k
    {
1586
253k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1583
153k
        : base(std::in_place, std::forward<U>(val)),
1584
153k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
153k
    {
1586
153k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1583
119k
        : base(std::in_place, std::forward<U>(val)),
1584
119k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
119k
    {
1586
119k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1583
111k
        : base(std::in_place, std::forward<U>(val)),
1584
111k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
111k
    {
1586
111k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1583
42.6k
        : base(std::in_place, std::forward<U>(val)),
1584
42.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
42.6k
    {
1586
42.6k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1583
21.1k
        : base(std::in_place, std::forward<U>(val)),
1584
21.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
21.1k
    {
1586
21.1k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1583
92.7k
        : base(std::in_place, std::forward<U>(val)),
1584
92.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
92.7k
    {
1586
92.7k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<char const*, scn::v4::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1583
76.9k
        : base(std::in_place, std::forward<U>(val)),
1584
76.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
76.9k
    {
1586
76.9k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*, void>(char const*&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<long, scn::v4::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1583
144k
        : base(std::in_place, std::forward<U>(val)),
1584
144k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
144k
    {
1586
144k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const* const&, void>(char const* const&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1583
90.0k
        : base(std::in_place, std::forward<U>(val)),
1584
90.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
90.0k
    {
1586
90.0k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1583
90.0k
        : base(std::in_place, std::forward<U>(val)),
1584
90.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
90.0k
    {
1586
90.0k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Unexecuted instantiation: scn::v4::expected<long, scn::v4::scan_error>::expected<unsigned long, void>(unsigned long&&)
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::expected<wchar_t, void>(wchar_t&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
1587
1588
    /// Construct an expected value directly in-place
1589
    template <typename... Args,
1590
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1591
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1592
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1593
        : base(std::in_place, std::forward<Args>(args)...),
1594
          ctor_base(detail::non_default_ctor_tag_t{})
1595
    {
1596
    }
1597
1598
    template <typename G = E,
1599
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1600
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1601
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1602
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1603
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1604
    {
1605
    }
1606
    template <typename G = E,
1607
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1608
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1609
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1610
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1611
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1612
    {
1613
    }
1614
1615
    template <typename G = E,
1616
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1617
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1618
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1619
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1620
        : base(unexpect, std::move(e.error())),
1621
          ctor_base(detail::non_default_ctor_tag_t{})
1622
    {
1623
    }
1624
    template <typename G = E,
1625
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1626
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1627
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1628
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1629
1.87M
        : base(unexpect, std::move(e.error())),
1630
1.87M
          ctor_base(detail::non_default_ctor_tag_t{})
1631
1.87M
    {
1632
1.87M
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJ2tmEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
12.5k
        : base(unexpect, std::move(e.error())),
1630
12.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
12.5k
    {
1632
12.5k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1629
37.5k
        : base(unexpect, std::move(e.error())),
1630
37.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
37.5k
    {
1632
37.5k
    }
_ZN3scn2v48expectedIvNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1629
656k
        : base(unexpect, std::move(e.error())),
1630
656k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
656k
    {
1632
656k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
12.5k
        : base(unexpect, std::move(e.error())),
1630
12.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
12.5k
    {
1632
12.5k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
12.5k
        : base(unexpect, std::move(e.error())),
1630
12.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
12.5k
    {
1632
12.5k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJ2tmEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
12.5k
        : base(unexpect, std::move(e.error())),
1630
12.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
12.5k
    {
1632
12.5k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1629
37.5k
        : base(unexpect, std::move(e.error())),
1630
37.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
37.5k
    {
1632
37.5k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
12.5k
        : base(unexpect, std::move(e.error())),
1630
12.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
12.5k
    {
1632
12.5k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
12.5k
        : base(unexpect, std::move(e.error())),
1630
12.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
12.5k
    {
1632
12.5k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJ2tmEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
25.0k
        : base(unexpect, std::move(e.error())),
1630
25.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
25.0k
    {
1632
25.0k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1629
75.0k
        : base(unexpect, std::move(e.error())),
1630
75.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
75.0k
    {
1632
75.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
25.0k
        : base(unexpect, std::move(e.error())),
1630
25.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
25.0k
    {
1632
25.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
25.0k
        : base(unexpect, std::move(e.error())),
1630
25.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
25.0k
    {
1632
25.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJ2tmEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
25.0k
        : base(unexpect, std::move(e.error())),
1630
25.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
25.0k
    {
1632
25.0k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1629
75.0k
        : base(unexpect, std::move(e.error())),
1630
75.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
75.0k
    {
1632
75.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
25.0k
        : base(unexpect, std::move(e.error())),
1630
25.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
25.0k
    {
1632
25.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
25.0k
        : base(unexpect, std::move(e.error())),
1630
25.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
25.0k
    {
1632
25.0k
    }
_ZN3scn2v48expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1629
225k
        : base(unexpect, std::move(e.error())),
1630
225k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
225k
    {
1632
225k
    }
_ZN3scn2v48expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1629
37.5k
        : base(unexpect, std::move(e.error())),
1630
37.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
37.5k
    {
1632
37.5k
    }
_ZN3scn2v48expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1629
75.0k
        : base(unexpect, std::move(e.error())),
1630
75.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
75.0k
    {
1632
75.0k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
142k
        : base(unexpect, std::move(e.error())),
1630
142k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
142k
    {
1632
142k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
285k
        : base(unexpect, std::move(e.error())),
1630
285k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
285k
    {
1632
285k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1629
1.44k
        : base(unexpect, std::move(e.error())),
1630
1.44k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
1.44k
    {
1632
1.44k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
732
        : base(unexpect, std::move(e.error())),
1630
732
          ctor_base(detail::non_default_ctor_tag_t{})
1631
732
    {
1632
732
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Unexecuted instantiation: _ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Unexecuted instantiation: _ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1629
1.08k
        : base(unexpect, std::move(e.error())),
1630
1.08k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
1.08k
    {
1632
1.08k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
1.08k
        : base(unexpect, std::move(e.error())),
1630
1.08k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
1.08k
    {
1632
1.08k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE
Unexecuted instantiation: _ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Unexecuted instantiation: _ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEEC2ISD_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEC2ISB_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
1633
1634
    /// Construct an unexpected value directly in-place
1635
    template <typename... Args,
1636
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1637
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1638
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1639
4.34k
        : base(unexpect, std::forward<Args>(args)...),
1640
4.34k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
4.34k
    {
1642
4.34k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
1.44k
        : base(unexpect, std::forward<Args>(args)...),
1640
1.44k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
1.44k
    {
1642
1.44k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
1.08k
        : base(unexpect, std::forward<Args>(args)...),
1640
1.08k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
1.08k
    {
1642
1.08k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
732
        : base(unexpect, std::forward<Args>(args)...),
1640
732
          ctor_base(detail::non_default_ctor_tag_t{})
1641
732
    {
1642
732
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
1.08k
        : base(unexpect, std::forward<Args>(args)...),
1640
1.08k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
1.08k
    {
1642
1.08k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
1643
1644
    template <
1645
        typename U,
1646
        typename G,
1647
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1648
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1649
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1650
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1651
        std::is_nothrow_constructible_v<T, const U&> &&
1652
        std::is_nothrow_constructible_v<E, const G&>)
1653
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1654
    {
1655
        if (other.has_value()) {
1656
            this->construct(*other);
1657
        }
1658
        else {
1659
            this->construct_unexpected(other.error());
1660
        }
1661
    }
1662
    template <
1663
        typename U,
1664
        typename G,
1665
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1666
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1667
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1668
    constexpr expected(const expected<U, G>& other) noexcept(
1669
        std::is_nothrow_constructible_v<T, const U&> &&
1670
        std::is_nothrow_constructible_v<E, const G&>)
1671
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1672
    {
1673
        if (other.has_value()) {
1674
            this->construct(*other);
1675
        }
1676
        else {
1677
            this->construct_unexpected(other.error());
1678
        }
1679
    }
1680
1681
    template <typename U,
1682
              typename G,
1683
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1684
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1685
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1686
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1687
        std::is_nothrow_constructible_v<T, U&&> &&
1688
        std::is_nothrow_constructible_v<E, G&&>)
1689
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1690
    {
1691
        if (other.has_value()) {
1692
            this->construct(std::move(*other));
1693
        }
1694
        else {
1695
            this->construct_unexpected(std::move(other.error()));
1696
        }
1697
    }
1698
    template <typename U,
1699
              typename G,
1700
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1701
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1702
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1703
    constexpr expected(expected<U, G>&& other) noexcept(
1704
        std::is_nothrow_constructible_v<T, U&&> &&
1705
        std::is_nothrow_constructible_v<E, G&&>)
1706
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1707
    {
1708
        if (other.has_value()) {
1709
            this->construct(std::move(*other));
1710
        }
1711
        else {
1712
            this->construct_unexpected(std::move(other.error()));
1713
        }
1714
    }
1715
1716
    template <typename U = value_type,
1717
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1718
    expected& operator=(U&& val) noexcept(
1719
        noexcept(assign_value(std::forward<U>(val))))
1720
    {
1721
        assign_value(std::forward<U>(val));
1722
        return *this;
1723
    }
1724
1725
    expected& operator=(const unexpected_type& unex) noexcept(
1726
        noexcept(assign_unexpected(unex)))
1727
    {
1728
        assign_unexpected(unex);
1729
        return *this;
1730
    }
1731
    expected& operator=(unexpected_type&& unex) noexcept(
1732
        noexcept(assign_unexpected(std::move(unex))))
1733
    {
1734
        assign_unexpected(std::move(unex));
1735
        return *this;
1736
    }
1737
1738
    /// Destroys the contained value, and then initializes the expected
1739
    /// value directly in-place.
1740
    template <typename... Args,
1741
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1742
    decltype(auto) emplace(Args&&... args) noexcept(
1743
        std::is_nothrow_constructible_v<T, Args...>)
1744
    {
1745
        emplace_impl(std::forward<Args>(args)...);
1746
        if constexpr (!std::is_void_v<T>) {
1747
            return this->get_value();
1748
        }
1749
    }
1750
1751
    using base::has_value;
1752
    constexpr explicit operator bool() const noexcept
1753
6.30M
    {
1754
6.30M
        return has_value();
1755
6.30M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
80.2k
    {
1754
80.2k
        return has_value();
1755
80.2k
    }
scn::v4::expected<long, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
562k
    {
1754
562k
        return has_value();
1755
562k
    }
scn::v4::expected<void, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
3.75M
    {
1754
3.75M
        return has_value();
1755
3.75M
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
440k
    {
1754
440k
        return has_value();
1755
440k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
26.7k
    {
1754
26.7k
        return has_value();
1755
26.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
26.7k
    {
1754
26.7k
        return has_value();
1755
26.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
26.7k
    {
1754
26.7k
        return has_value();
1755
26.7k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
96.6k
    {
1754
96.6k
        return has_value();
1755
96.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
32.2k
    {
1754
32.2k
        return has_value();
1755
32.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
32.2k
    {
1754
32.2k
        return has_value();
1755
32.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
32.2k
    {
1754
32.2k
        return has_value();
1755
32.2k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
96.1k
    {
1754
96.1k
        return has_value();
1755
96.1k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
460k
    {
1754
460k
        return has_value();
1755
460k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
32.0k
    {
1754
32.0k
        return has_value();
1755
32.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
32.0k
    {
1754
32.0k
        return has_value();
1755
32.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
32.0k
    {
1754
32.0k
        return has_value();
1755
32.0k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
96.1k
    {
1754
96.1k
        return has_value();
1755
96.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
32.0k
    {
1754
32.0k
        return has_value();
1755
32.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
32.0k
    {
1754
32.0k
        return has_value();
1755
32.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
32.0k
    {
1754
32.0k
        return has_value();
1755
32.0k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
157k
    {
1754
157k
        return has_value();
1755
157k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
187k
    {
1754
187k
        return has_value();
1755
187k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
1756
1757
    /// Get the unexpected value, if one is contained in *this
1758
    constexpr error_type& error() & noexcept
1759
1.66M
    {
1760
1.66M
        SCN_EXPECT(!has_value());
1761
1.66M
        return this->get_unexpected().error();
1762
1.66M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
37.5k
    {
1760
37.5k
        SCN_EXPECT(!has_value());
1761
37.5k
        return this->get_unexpected().error();
1762
37.5k
    }
scn::v4::expected<long, scn::v4::scan_error>::error() &
Line
Count
Source
1759
225k
    {
1760
225k
        SCN_EXPECT(!has_value());
1761
225k
        return this->get_unexpected().error();
1762
225k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &
Line
Count
Source
1759
671k
    {
1760
671k
        SCN_EXPECT(!has_value());
1761
671k
        return this->get_unexpected().error();
1762
671k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1759
144k
    {
1760
144k
        SCN_EXPECT(!has_value());
1761
144k
        return this->get_unexpected().error();
1762
144k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
37.5k
    {
1760
37.5k
        SCN_EXPECT(!has_value());
1761
37.5k
        return this->get_unexpected().error();
1762
37.5k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
75.0k
    {
1760
75.0k
        SCN_EXPECT(!has_value());
1761
75.0k
        return this->get_unexpected().error();
1762
75.0k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1759
286k
    {
1760
286k
        SCN_EXPECT(!has_value());
1761
286k
        return this->get_unexpected().error();
1762
286k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
75.0k
    {
1760
75.0k
        SCN_EXPECT(!has_value());
1761
75.0k
        return this->get_unexpected().error();
1762
75.0k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::scan_error>::error() &
Line
Count
Source
1759
38.2k
    {
1760
38.2k
        SCN_EXPECT(!has_value());
1761
38.2k
        return this->get_unexpected().error();
1762
38.2k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::error() &
Line
Count
Source
1759
76.1k
    {
1760
76.1k
        SCN_EXPECT(!has_value());
1761
76.1k
        return this->get_unexpected().error();
1762
76.1k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
1763
    constexpr const error_type& error() const& noexcept
1764
0
    {
1765
0
        SCN_EXPECT(!has_value());
1766
0
        return this->get_unexpected().error();
1767
0
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
1768
    constexpr error_type&& error() && noexcept
1769
4.34k
    {
1770
4.34k
        SCN_EXPECT(!has_value());
1771
4.34k
        return std::move(this->get_unexpected().error());
1772
4.34k
    }
Unexecuted instantiation: scn::v4::expected<void, scn::v4::scan_error>::error() &&
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
1.44k
    {
1770
1.44k
        SCN_EXPECT(!has_value());
1771
1.44k
        return std::move(this->get_unexpected().error());
1772
1.44k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
1.08k
    {
1770
1.08k
        SCN_EXPECT(!has_value());
1771
1.08k
        return std::move(this->get_unexpected().error());
1772
1.08k
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
732
    {
1770
732
        SCN_EXPECT(!has_value());
1771
732
        return std::move(this->get_unexpected().error());
1772
732
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
1.08k
    {
1770
1.08k
        SCN_EXPECT(!has_value());
1771
1.08k
        return std::move(this->get_unexpected().error());
1772
1.08k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
1773
    constexpr const error_type&& error() const&& noexcept
1774
    {
1775
        SCN_EXPECT(!has_value());
1776
        return std::move(this->get_unexpected().error());
1777
    }
1778
1779
    /// Get the expected value, if one is contained in *this
1780
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1781
    constexpr U& value() & noexcept
1782
2.07M
    {
1783
2.07M
        SCN_EXPECT(has_value());
1784
2.07M
        return this->get_value();
1785
2.07M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
42.6k
    {
1783
42.6k
        SCN_EXPECT(has_value());
1784
42.6k
        return this->get_value();
1785
42.6k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1782
224k
    {
1783
224k
        SCN_EXPECT(has_value());
1784
224k
        return this->get_value();
1785
224k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1782
296k
    {
1783
296k
        SCN_EXPECT(has_value());
1784
296k
        return this->get_value();
1785
296k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJ2tmEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1782
55.1k
    {
1783
55.1k
        SCN_EXPECT(has_value());
1784
55.1k
        return this->get_value();
1785
55.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1782
55.1k
    {
1783
55.1k
        SCN_EXPECT(has_value());
1784
55.1k
        return this->get_value();
1785
55.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1782
55.1k
    {
1783
55.1k
        SCN_EXPECT(has_value());
1784
55.1k
        return this->get_value();
1785
55.1k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1782
59.1k
    {
1783
59.1k
        SCN_EXPECT(has_value());
1784
59.1k
        return this->get_value();
1785
59.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJ2tmEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
71.6k
    {
1783
71.6k
        SCN_EXPECT(has_value());
1784
71.6k
        return this->get_value();
1785
71.6k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
71.6k
    {
1783
71.6k
        SCN_EXPECT(has_value());
1784
71.6k
        return this->get_value();
1785
71.6k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
71.6k
    {
1783
71.6k
        SCN_EXPECT(has_value());
1784
71.6k
        return this->get_value();
1785
71.6k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
21.1k
    {
1783
21.1k
        SCN_EXPECT(has_value());
1784
21.1k
        return this->get_value();
1785
21.1k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1782
174k
    {
1783
174k
        SCN_EXPECT(has_value());
1784
174k
        return this->get_value();
1785
174k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJ2tmEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1782
46.1k
    {
1783
46.1k
        SCN_EXPECT(has_value());
1784
46.1k
        return this->get_value();
1785
46.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1782
46.1k
    {
1783
46.1k
        SCN_EXPECT(has_value());
1784
46.1k
        return this->get_value();
1785
46.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1782
46.1k
    {
1783
46.1k
        SCN_EXPECT(has_value());
1784
46.1k
        return this->get_value();
1785
46.1k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1782
21.1k
    {
1783
21.1k
        SCN_EXPECT(has_value());
1784
21.1k
        return this->get_value();
1785
21.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJ2tmEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
46.1k
    {
1783
46.1k
        SCN_EXPECT(has_value());
1784
46.1k
        return this->get_value();
1785
46.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
46.1k
    {
1783
46.1k
        SCN_EXPECT(has_value());
1784
46.1k
        return this->get_value();
1785
46.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
46.1k
    {
1783
46.1k
        SCN_EXPECT(has_value());
1784
46.1k
        return this->get_value();
1785
46.1k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
92.7k
    {
1783
92.7k
        SCN_EXPECT(has_value());
1784
92.7k
        return this->get_value();
1785
92.7k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
90.0k
    {
1783
90.0k
        SCN_EXPECT(has_value());
1784
90.0k
        return this->get_value();
1785
90.0k
    }
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1782
119k
    {
1783
119k
        SCN_EXPECT(has_value());
1784
119k
        return this->get_value();
1785
119k
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1782
111k
    {
1783
111k
        SCN_EXPECT(has_value());
1784
111k
        return this->get_value();
1785
111k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
76.9k
    {
1783
76.9k
        SCN_EXPECT(has_value());
1784
76.9k
        return this->get_value();
1785
76.9k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
90.0k
    {
1783
90.0k
        SCN_EXPECT(has_value());
1784
90.0k
        return this->get_value();
1785
90.0k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEE5valueISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEE5valueISC_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
1786
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1787
    constexpr const U& value() const& noexcept
1788
0
    {
1789
0
        SCN_EXPECT(has_value());
1790
0
        return this->get_value();
1791
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1792
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1793
    constexpr U&& value() && noexcept
1794
    {
1795
        SCN_EXPECT(has_value());
1796
        return std::move(this->get_value());
1797
    }
1798
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1799
    constexpr const U&& value() const&& noexcept
1800
    {
1801
        SCN_EXPECT(has_value());
1802
        return std::move(this->get_value());
1803
    }
1804
1805
    /// Get the expected value, if one is contained in *this
1806
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1807
    constexpr U& operator*() & noexcept
1808
512k
    {
1809
512k
        return value();
1810
512k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1808
42.6k
    {
1809
42.6k
        return value();
1810
42.6k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1808
224k
    {
1809
224k
        return value();
1810
224k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1808
59.1k
    {
1809
59.1k
        return value();
1810
59.1k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1808
21.1k
    {
1809
21.1k
        return value();
1810
21.1k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1808
21.1k
    {
1809
21.1k
        return value();
1810
21.1k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1808
101k
    {
1809
101k
        return value();
1810
101k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1808
42.2k
    {
1809
42.2k
        return value();
1810
42.2k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEdeISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
1811
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1812
    constexpr const U& operator*() const& noexcept
1813
0
    {
1814
0
        return value();
1815
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1816
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1817
    constexpr U&& operator*() && noexcept
1818
907k
    {
1819
907k
        return std::move(value());
1820
907k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1818
194k
    {
1819
194k
        return std::move(value());
1820
194k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1818
132k
    {
1819
132k
        return std::move(value());
1820
132k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
92.7k
    {
1819
92.7k
        return std::move(value());
1820
92.7k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
90.0k
    {
1819
90.0k
        return std::move(value());
1820
90.0k
    }
_ZNO3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1818
119k
    {
1819
119k
        return std::move(value());
1820
119k
    }
_ZNO3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1818
111k
    {
1819
111k
        return std::move(value());
1820
111k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1818
76.9k
    {
1819
76.9k
        return std::move(value());
1820
76.9k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1818
90.0k
    {
1819
90.0k
        return std::move(value());
1820
90.0k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
1821
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1822
    constexpr const U&& operator*() const&& noexcept
1823
    {
1824
        return std::move(value());
1825
    }
1826
1827
    constexpr value_type* operator->() noexcept
1828
657k
    {
1829
657k
        return &value();
1830
657k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
55.1k
    {
1829
55.1k
        return &value();
1830
55.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
55.1k
    {
1829
55.1k
        return &value();
1830
55.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
55.1k
    {
1829
55.1k
        return &value();
1830
55.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
71.6k
    {
1829
71.6k
        return &value();
1830
71.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
71.6k
    {
1829
71.6k
        return &value();
1830
71.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
71.6k
    {
1829
71.6k
        return &value();
1830
71.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
46.1k
    {
1829
46.1k
        return &value();
1830
46.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
46.1k
    {
1829
46.1k
        return &value();
1830
46.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
46.1k
    {
1829
46.1k
        return &value();
1830
46.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
46.1k
    {
1829
46.1k
        return &value();
1830
46.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
46.1k
    {
1829
46.1k
        return &value();
1830
46.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
46.1k
    {
1829
46.1k
        return &value();
1830
46.1k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
1831
    constexpr const value_type* operator->() const noexcept
1832
    {
1833
        return &value();
1834
    }
1835
1836
    /// Returns the expected value if *this contains one, otherwise
1837
    /// returns default_value
1838
    template <typename U,
1839
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1840
                                          std::is_convertible_v<U, T>>>
1841
    constexpr T value_or(U&& default_value) const& noexcept(
1842
        std::is_nothrow_copy_constructible_v<T> &&
1843
        std::is_nothrow_constructible_v<T, U&&>)
1844
    {
1845
        if (has_value()) {
1846
            return value();
1847
        }
1848
        return std::forward<U>(default_value);
1849
    }
1850
    template <typename U,
1851
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1852
                                          std::is_convertible_v<U, T>>>
1853
    constexpr T value_or(U&& default_value) && noexcept(
1854
        std::is_nothrow_move_constructible_v<T> &&
1855
        std::is_nothrow_constructible_v<T, U&&>)
1856
    {
1857
        if (has_value()) {
1858
            return std::move(value());
1859
        }
1860
        return std::forward<U>(default_value);
1861
    }
1862
1863
    template <typename G,
1864
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1865
                                          std::is_convertible_v<G, E>>>
1866
    constexpr E error_or(G&& default_error) const& noexcept(
1867
        std::is_nothrow_copy_constructible_v<E> &&
1868
        std::is_nothrow_constructible_v<E, G&&>)
1869
    {
1870
        if (!has_value()) {
1871
            return error();
1872
        }
1873
        return std::forward<G>(default_error);
1874
    }
1875
    template <typename G,
1876
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1877
                                          std::is_convertible_v<G, E>>>
1878
    constexpr E error_or(G&& default_error) && noexcept(
1879
        std::is_nothrow_move_constructible_v<E> &&
1880
        std::is_nothrow_constructible_v<E, G&&>)
1881
    {
1882
        if (!has_value()) {
1883
            return std::move(error());
1884
        }
1885
        return std::forward<G>(default_error);
1886
    }
1887
1888
    template <typename F>
1889
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1890
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1891
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1892
    {
1893
        return detail::and_then_impl(*this, std::forward<F>(f));
1894
    }
1895
    template <typename F>
1896
    constexpr auto and_then(F&& f) const& noexcept(
1897
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1898
                                       std::forward<F>(f))))
1899
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1900
    {
1901
        return detail::and_then_impl(*this, std::forward<F>(f));
1902
    }
1903
    template <typename F>
1904
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1905
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1906
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1907
    {
1908
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1909
    }
1910
    template <typename F>
1911
    constexpr auto and_then(F&& f) const&& noexcept(
1912
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1913
                                       std::forward<F>(f))))
1914
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1915
    {
1916
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1917
    }
1918
1919
    template <typename F>
1920
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1921
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1922
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1923
    {
1924
        return detail::or_else_impl(*this, std::forward<F>(f));
1925
    }
1926
    template <typename F>
1927
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1928
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1929
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1930
    {
1931
        return detail::or_else_impl(*this, std::forward<F>(f));
1932
    }
1933
    template <typename F>
1934
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1935
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1936
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1937
    {
1938
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1939
    }
1940
    template <typename F>
1941
    constexpr auto or_else(F&& f) const&& noexcept(
1942
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1943
                                      std::forward<F>(f))))
1944
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1945
    {
1946
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1947
    }
1948
1949
    template <typename F>
1950
    constexpr auto transform(
1951
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1952
    {
1953
        return detail::transform_impl(*this, std::forward<F>(f));
1954
    }
1955
    template <typename F>
1956
    constexpr auto transform(F&& f)
1957
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1958
    {
1959
        return detail::transform_impl(*this, std::forward<F>(f));
1960
    }
1961
    template <typename F>
1962
    constexpr auto transform(
1963
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1964
    {
1965
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1966
    }
1967
    template <typename F>
1968
    constexpr auto transform(F&& f)
1969
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1970
    {
1971
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1972
    }
1973
1974
    template <typename F>
1975
    constexpr auto transform_error(
1976
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1977
                                                          std::forward<F>(f)))
1978
0
    {
1979
0
        return detail::transform_error_impl(*this, std::forward<F>(f));
1980
0
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
1981
    template <typename F>
1982
    constexpr auto transform_error(F&& f)
1983
        const& -> decltype(detail::transform_error_impl(*this,
1984
                                                        std::forward<F>(f)))
1985
    {
1986
        return detail::transform_error_impl(*this, std::forward<F>(f));
1987
    }
1988
    template <typename F>
1989
    constexpr auto transform_error(
1990
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1991
                                                           std::forward<F>(f)))
1992
354k
    {
1993
354k
        return detail::transform_error_impl(std::move(*this),
1994
354k
                                            std::forward<F>(f));
1995
354k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
94.1k
    {
1993
94.1k
        return detail::transform_error_impl(std::move(*this),
1994
94.1k
                                            std::forward<F>(f));
1995
94.1k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
91.1k
    {
1993
91.1k
        return detail::transform_error_impl(std::move(*this),
1994
91.1k
                                            std::forward<F>(f));
1995
91.1k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1992
77.7k
    {
1993
77.7k
        return detail::transform_error_impl(std::move(*this),
1994
77.7k
                                            std::forward<F>(f));
1995
77.7k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1992
91.1k
    {
1993
91.1k
        return detail::transform_error_impl(std::move(*this),
1994
91.1k
                                            std::forward<F>(f));
1995
91.1k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
1996
    template <typename F>
1997
    constexpr auto transform_error(F&& f)
1998
        const&& -> decltype(detail::transform_error_impl(*this,
1999
                                                         std::forward<F>(f)))
2000
    {
2001
        return detail::transform_error_impl(std::move(*this),
2002
                                            std::forward<F>(f));
2003
    }
2004
2005
private:
2006
    template <typename... Args>
2007
    void emplace_impl(Args&&... args) noexcept(
2008
        std::is_nothrow_constructible_v<T, Args&&...>)
2009
    {
2010
        if (this->has_value()) {
2011
            this->destroy_value();
2012
            this->construct(std::forward<Args>(args)...);
2013
        }
2014
        else {
2015
#if SCN_HAS_EXCEPTIONS
2016
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
2017
                auto tmp = std::move(error());
2018
                this->destroy_unexpected();
2019
2020
                try {
2021
                    this->construct(std::forward<Args>(args)...);
2022
                }
2023
                catch (...) {
2024
                    this->construct_unexpected(std::move(tmp));
2025
                    throw;
2026
                }
2027
            }
2028
            else {
2029
                this->construct(std::forward<Args>(args)...);
2030
            }
2031
#else
2032
            this->destroy_unexpected();
2033
            this->construct(std::forward<Args>(args)...);
2034
#endif
2035
        }
2036
    }
2037
2038
    template <typename Value>
2039
    void assign_value(Value&& val) noexcept(
2040
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
2041
                                        Value&&> &&
2042
        std::is_nothrow_assignable_v<T, Value&&>)
2043
    {
2044
        if (has_value()) {
2045
            this->get_value() = std::forward<Value>(val);
2046
            return;
2047
        }
2048
2049
#if SCN_HAS_EXCEPTIONS
2050
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
2051
            this->destroy_unexpected();
2052
            this->construct(std::forward<Value>(val));
2053
        }
2054
        else {
2055
            auto tmp = std::move(this->get_unexpected());
2056
            this->destroy_unexpected();
2057
2058
            try {
2059
                this->construct(std::forward<Value>(val));
2060
            }
2061
            catch (...) {
2062
                this->construct_unexpected(std::move(tmp));
2063
            }
2064
        }
2065
#else
2066
        this->destroy_unexpected();
2067
        this->construct(std::forward<Value>(val));
2068
#endif
2069
    }
2070
2071
    template <typename Unexpected>
2072
    void assign_unexpected(Unexpected&& unex) noexcept(
2073
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
2074
        std::is_nothrow_assignable_v<E, Unexpected&&>)
2075
    {
2076
        if (!has_value()) {
2077
            this->get_unexpected() = std::forward<Unexpected>(unex);
2078
            return;
2079
        }
2080
2081
        this->destroy_value();
2082
        this->construct_unexpected(std::forward<Unexpected>(unex));
2083
    }
2084
};
2085
2086
/////////////////////////////////////////////////////////////////
2087
// <ranges> implementation
2088
/////////////////////////////////////////////////////////////////
2089
2090
/**
2091
 * Contains a very minimal `<ranges>` implementation.
2092
 *
2093
 * This is a heavily stripped-down and adapted version of NanoRange:
2094
 * https://github.com/tcbrindle/NanoRange.
2095
 *
2096
 * NanoRange is provided under the Boost license.
2097
 * Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
2098
 */
2099
namespace ranges {
2100
2101
namespace detail {
2102
using namespace scn::detail;
2103
2104
template <typename T>
2105
constexpr auto decay_copy(T&& t) noexcept(
2106
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
2107
7.09M
{
2108
7.09M
    return SCN_FWD(t);
2109
7.09M
}
_ZN3scn2v46ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
2107
944k
{
2108
944k
    return SCN_FWD(t);
2109
944k
}
_ZN3scn2v46ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
2107
682k
{
2108
682k
    return SCN_FWD(t);
2109
682k
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_
Line
Count
Source
2107
2.75M
{
2108
2.75M
    return SCN_FWD(t);
2109
2.75M
}
_ZN3scn2v46ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
2107
978k
{
2108
978k
    return SCN_FWD(t);
2109
978k
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_
Line
Count
Source
2107
1.36M
{
2108
1.36M
    return SCN_FWD(t);
2109
1.36M
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
_ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
2107
92.7k
{
2108
92.7k
    return SCN_FWD(t);
2109
92.7k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
_ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
2107
90.0k
{
2108
90.0k
    return SCN_FWD(t);
2109
90.0k
}
_ZN3scn2v46ranges6detail10decay_copyINS1_18default_sentinel_tEEEu7__decayIT_EOS5_
Line
Count
Source
2107
187k
{
2108
187k
    return SCN_FWD(t);
2109
187k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINSt3__111__wrap_iterIPcEEEEu7__decayIT_EOS8_
2110
2111
template <bool>
2112
struct conditional {
2113
    template <typename T, typename>
2114
    using type = T;
2115
};
2116
2117
template <>
2118
struct conditional<false> {
2119
    template <typename, typename U>
2120
    using type = U;
2121
};
2122
2123
template <bool B, typename T, typename U>
2124
using conditional_t = typename conditional<B>::template type<T, U>;
2125
2126
template <template <class...> class AliasT, typename... Args>
2127
auto exists_helper(long) -> std::false_type;
2128
2129
template <template <class...> class AliasT,
2130
          typename... Args,
2131
          typename = AliasT<Args...>>
2132
auto exists_helper(int) -> std::true_type;
2133
2134
template <template <class...> class AliasT, typename... Args>
2135
inline constexpr bool exists_v =
2136
    decltype(exists_helper<AliasT, Args...>(0))::value;
2137
2138
template <typename, typename...>
2139
auto test_requires_fn(long) -> std::false_type;
2140
2141
template <typename R,
2142
          typename... Args,
2143
          typename = decltype(&R::template requires_<Args...>)>
2144
auto test_requires_fn(int) -> std::true_type;
2145
2146
template <typename R, typename... Args>
2147
inline constexpr bool requires_ =
2148
    decltype(test_requires_fn<R, Args...>(0))::value;
2149
2150
template <bool Expr>
2151
using requires_expr = std::enable_if_t<Expr, int>;
2152
}  // namespace detail
2153
2154
template <typename>
2155
inline constexpr bool enable_borrowed_range = false;
2156
2157
namespace detail {
2158
template <typename T>
2159
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2160
2161
struct boolean_testable_concept {
2162
    template <typename T>
2163
    auto requires_(T&& t)
2164
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2165
};
2166
2167
template <typename T>
2168
inline constexpr bool boolean_testable =
2169
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2170
}  // namespace detail
2171
2172
namespace detail {
2173
struct weakly_equality_comparable_with_concept {
2174
    template <typename T, typename U>
2175
    auto requires_(const std::remove_reference_t<T>& t,
2176
                   const std::remove_reference_t<U>& u)
2177
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2178
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2179
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2180
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2181
};
2182
2183
template <typename T, typename U>
2184
inline constexpr bool weakly_equality_comparable_with =
2185
    requires_<weakly_equality_comparable_with_concept, T, U>;
2186
}  // namespace detail
2187
2188
template <typename T>
2189
inline constexpr bool equality_comparable =
2190
    detail::weakly_equality_comparable_with<T, T>;
2191
2192
namespace detail {
2193
struct equality_comparable_with_concept {
2194
    template <typename, typename>
2195
    static auto test(long) -> std::false_type;
2196
2197
    template <typename T, typename U>
2198
    static auto test(int)
2199
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2200
#if 0
2201
            common_reference_with<const std::remove_reference_t<T>&,
2202
                                  const std::remove_reference_t<U>&> &&
2203
            equality_comparable<
2204
                common_reference_t<const std::remove_reference_t<T>&,
2205
                                   const std::remove_reference_t<U>&>> &&
2206
#endif
2207
                                weakly_equality_comparable_with<T, U>,
2208
                            std::true_type>;
2209
};
2210
}  // namespace detail
2211
2212
template <typename T, typename U>
2213
inline constexpr bool equality_comparable_with =
2214
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2215
2216
namespace detail {
2217
struct partially_ordered_with_concept {
2218
    template <typename T, typename U>
2219
    auto requires_(const std::remove_reference_t<T>& t,
2220
                   const std::remove_reference_t<U>& u)
2221
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2222
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2223
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2224
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2225
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2226
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2227
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2228
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2229
};
2230
2231
template <typename T, typename U>
2232
inline constexpr bool partially_ordered_with =
2233
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2234
}  // namespace detail
2235
2236
template <typename T>
2237
inline constexpr bool totally_ordered =
2238
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2239
2240
namespace detail {
2241
struct totally_ordered_with_concept {
2242
    template <typename, typename>
2243
    static auto test(long) -> std::false_type;
2244
2245
    template <typename T, typename U>
2246
    static auto test(int)
2247
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2248
                                equality_comparable_with<T, U> &&
2249
#if 0
2250
                                totally_ordered<common_reference_t<
2251
                                    const std::remove_reference_t<T>&,
2252
                                    const std::remove_reference_t<U>&>> &&
2253
#endif
2254
                                partially_ordered_with<T, U>,
2255
                            std::true_type>;
2256
};
2257
}  // namespace detail
2258
2259
template <typename T, typename U>
2260
inline constexpr bool totally_ordered_with =
2261
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2262
2263
namespace detail {
2264
struct movable_concept {
2265
    template <typename T>
2266
    static auto test(long) -> std::false_type;
2267
2268
    template <typename T>
2269
    static auto test(int) -> std::enable_if_t<
2270
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2271
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2272
        std::true_type>;
2273
};
2274
}  // namespace detail
2275
2276
template <typename T>
2277
inline constexpr bool movable =
2278
    decltype(detail::movable_concept::test<T>(0))::value;
2279
2280
namespace detail {
2281
struct copyable_concept {
2282
    template <typename>
2283
    static auto test(long) -> std::false_type;
2284
2285
    template <typename T>
2286
    static auto test(int)
2287
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2288
                                std::is_copy_assignable_v<T>,
2289
                            std::true_type>;
2290
};
2291
}  // namespace detail
2292
2293
template <typename T>
2294
inline constexpr bool copyable =
2295
    decltype(detail::copyable_concept::test<T>(0))::value;
2296
2297
template <typename T>
2298
inline constexpr bool semiregular =
2299
    copyable<T> && std::is_default_constructible_v<T>;
2300
2301
template <typename T>
2302
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2303
2304
template <typename>
2305
struct incrementable_traits;
2306
2307
namespace detail {
2308
struct empty {};
2309
2310
template <typename T>
2311
struct with_difference_type {
2312
    using difference_type = T;
2313
};
2314
2315
template <typename, typename = void>
2316
struct incrementable_traits_helper {};
2317
2318
// Workaround for GCC silliness: void* has no difference_type
2319
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2320
// error Can we formulate the concept differently to avoid the need for this
2321
// hack?
2322
template <>
2323
struct incrementable_traits_helper<void*> {};
2324
2325
template <typename T>
2326
struct incrementable_traits_helper<T*>
2327
    : detail::conditional_t<std::is_object_v<T>,
2328
                            with_difference_type<std::ptrdiff_t>,
2329
                            empty> {};
2330
2331
template <class I>
2332
struct incrementable_traits_helper<const I>
2333
    : incrementable_traits<std::decay_t<I>> {};
2334
2335
template <typename, typename = void>
2336
struct has_member_difference_type : std::false_type {};
2337
2338
template <typename T>
2339
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2340
    : std::true_type {};
2341
2342
template <typename T>
2343
constexpr bool has_member_difference_type_v =
2344
    has_member_difference_type<T>::value;
2345
2346
template <typename T>
2347
struct incrementable_traits_helper<
2348
    T,
2349
    std::enable_if_t<has_member_difference_type_v<T>>> {
2350
    using difference_type = typename T::difference_type;
2351
};
2352
2353
template <typename T, typename = void>
2354
struct subtraction_result_type {
2355
    using type = void;
2356
};
2357
template <typename T>
2358
struct subtraction_result_type<
2359
    T,
2360
    std::void_t<decltype(std::declval<const T&>() -
2361
                         std::declval<const T&>())>> {
2362
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2363
};
2364
2365
template <typename T>
2366
inline constexpr bool enable_incrtraits_subtractable =
2367
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2368
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2369
2370
template <typename T>
2371
struct incrementable_traits_helper<
2372
    T,
2373
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2374
    : with_difference_type<
2375
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2376
}  // namespace detail
2377
2378
template <typename T>
2379
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2380
2381
template <typename T>
2382
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2383
2384
template <typename>
2385
struct readable_traits;
2386
2387
namespace detail {
2388
template <typename T>
2389
struct with_value_type {
2390
    using value_type = T;
2391
};
2392
2393
template <typename, typename = void>
2394
struct readable_traits_helper {};
2395
2396
template <typename T>
2397
struct readable_traits_helper<T*>
2398
    : detail::conditional_t<std::is_object_v<T>,
2399
                            with_value_type<std::remove_cv_t<T>>,
2400
                            empty> {};
2401
2402
template <typename I>
2403
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2404
    : readable_traits<std::decay_t<I>> {};
2405
2406
template <typename I>
2407
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2408
    : readable_traits<std::decay_t<I>> {};
2409
2410
template <typename T, typename V = typename T::value_type>
2411
struct member_value_type
2412
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2413
2414
template <typename T, typename E = typename T::element_type>
2415
struct member_element_type
2416
    : detail::conditional_t<std::is_object_v<E>,
2417
                            with_value_type<std::remove_cv_t<E>>,
2418
                            empty> {};
2419
2420
template <typename T>
2421
using member_value_type_t = typename T::value_type;
2422
2423
template <typename T>
2424
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2425
2426
template <typename T>
2427
using member_element_type_t = typename T::element_type;
2428
2429
template <typename T>
2430
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2431
2432
template <typename T>
2433
struct readable_traits_helper<T,
2434
                              std::enable_if_t<has_member_value_type_v<T> &&
2435
                                               !has_member_element_type_v<T>>>
2436
    : member_value_type<T> {};
2437
2438
template <typename T>
2439
struct readable_traits_helper<T,
2440
                              std::enable_if_t<has_member_element_type_v<T> &&
2441
                                               !has_member_value_type_v<T>>>
2442
    : member_element_type<T> {};
2443
2444
// A type which has both value_type and element_type members must specialise
2445
// readable_traits to tell us which one to prefer -- see
2446
// https://github.com/ericniebler/stl2/issues/562
2447
template <typename T>
2448
struct readable_traits_helper<T,
2449
                              std::enable_if_t<has_member_element_type_v<T> &&
2450
                                               has_member_value_type_v<T>>> {};
2451
}  // namespace detail
2452
2453
template <typename T>
2454
struct readable_traits : detail::readable_traits_helper<T> {};
2455
2456
template <typename T>
2457
using iter_value_t = typename readable_traits<T>::value_type;
2458
2459
namespace detail {
2460
template <typename T>
2461
using with_reference = T&;
2462
2463
struct can_reference_concept {
2464
    template <typename T>
2465
    auto requires_() -> with_reference<T>;
2466
};
2467
2468
template <typename T>
2469
inline constexpr bool can_reference =
2470
    detail::requires_<can_reference_concept, T>;
2471
2472
struct dereferencable_concept {
2473
    template <typename T>
2474
    auto requires_(T& t)
2475
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2476
};
2477
2478
template <typename T>
2479
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2480
2481
// GCC and Clang allow dereferencing void* as an extension.
2482
// Let's kill that off now.
2483
2484
template <>
2485
inline constexpr bool dereferenceable<void*> = false;
2486
}  // namespace detail
2487
2488
using std::bidirectional_iterator_tag;
2489
using std::forward_iterator_tag;
2490
using std::input_iterator_tag;
2491
using std::output_iterator_tag;
2492
using std::random_access_iterator_tag;
2493
2494
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2495
    __cpp_lib_ranges >= 201911L
2496
using std::contiguous_iterator_tag;
2497
#else
2498
struct contiguous_iterator_tag : random_access_iterator_tag {};
2499
#endif
2500
2501
template <typename T>
2502
struct iterator_category;
2503
2504
namespace detail {
2505
template <typename T, typename = void>
2506
struct iterator_category_ {};
2507
template <typename T>
2508
struct iterator_category_<T*>
2509
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2510
template <typename T>
2511
struct iterator_category_<const T> : iterator_category<T> {};
2512
template <typename T>
2513
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2514
    using type = typename T::iterator_category;
2515
};
2516
}  // namespace detail
2517
2518
template <typename T>
2519
struct iterator_category : detail::iterator_category_<T> {};
2520
template <typename T>
2521
using iterator_category_t = typename iterator_category<T>::type;
2522
2523
namespace detail {
2524
2525
template <typename T, typename = void>
2526
struct legacy_iterator_category : iterator_category<T> {};
2527
2528
template <typename T>
2529
struct legacy_iterator_category<
2530
    T,
2531
    std::enable_if_t<
2532
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2533
    using type = random_access_iterator_tag;
2534
};
2535
2536
template <typename T>
2537
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2538
2539
}  // namespace detail
2540
2541
template <typename T>
2542
using iter_reference_t =
2543
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2544
2545
namespace detail {
2546
2547
struct readable_concept {
2548
    template <typename In>
2549
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2550
                                 std::declval<iter_reference_t<In>>());
2551
    // std::declval<iter_rvalue_reference_t<In>>());
2552
2553
    template <typename>
2554
    static auto test(long) -> std::false_type;
2555
2556
    template <typename In>
2557
    static auto test(int)
2558
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2559
#if 0
2560
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2561
            common_reference_with<iter_reference_t<In>&&,
2562
                                  iter_rvalue_reference_t<In>&&> &&
2563
            common_reference_with<iter_rvalue_reference_t<In>&&,
2564
                                  const iter_value_t<In>&>,
2565
#endif
2566
                            std::true_type>;
2567
};
2568
2569
}  // namespace detail
2570
2571
template <typename In>
2572
inline constexpr bool readable =
2573
    decltype(detail::readable_concept::test<In>(0))::value;
2574
2575
namespace detail {
2576
2577
struct writable_concept {
2578
    template <typename Out, typename T>
2579
    auto requires_(Out&& o, T&& t)
2580
        -> decltype(*o = std::forward<T>(t),
2581
                    *std::forward<Out>(o) = std::forward<T>(t),
2582
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2583
                        std::forward<T>(t),
2584
                    const_cast<const iter_reference_t<Out>&&>(
2585
                        *std::forward<Out>(o)) = std::forward<T>(t));
2586
};
2587
2588
}  // namespace detail
2589
2590
template <typename Out, typename T>
2591
inline constexpr bool writable =
2592
    detail::requires_<detail::writable_concept, Out, T>;
2593
2594
namespace detail {
2595
2596
template <typename T>
2597
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2598
2599
template <typename T>
2600
inline constexpr bool is_signed_integer_like =
2601
    std::is_integral_v<T> && std::is_signed_v<T>;
2602
2603
struct weakly_incrementable_concept {
2604
    template <typename I>
2605
    auto requires_(I i)
2606
        -> decltype(std::declval<iter_difference_t<I>>(),
2607
                    requires_expr<
2608
                        is_signed_integer_like<iter_difference_t<I>>>{},
2609
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2610
                    i++);
2611
};
2612
2613
}  // namespace detail
2614
2615
template <typename I>
2616
inline constexpr bool weakly_incrementable =
2617
    std::is_default_constructible_v<I> && movable<I> &&
2618
    detail::requires_<detail::weakly_incrementable_concept, I>;
2619
2620
namespace detail {
2621
2622
struct incrementable_concept {
2623
    template <typename I>
2624
    auto requires_(I i)
2625
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2626
};
2627
2628
}  // namespace detail
2629
2630
template <typename I>
2631
inline constexpr bool incrementable =
2632
    regular<I> && weakly_incrementable<I> &&
2633
    detail::requires_<detail::incrementable_concept, I>;
2634
2635
namespace detail {
2636
2637
struct input_or_output_iterator_concept {
2638
    template <typename I>
2639
    auto requires_(I i)
2640
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2641
};
2642
2643
}  // namespace detail
2644
2645
template <typename I>
2646
inline constexpr bool input_or_output_iterator =
2647
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2648
    weakly_incrementable<I>;
2649
2650
template <typename S, typename I>
2651
inline constexpr bool sentinel_for =
2652
    semiregular<S> && input_or_output_iterator<I> &&
2653
    detail::weakly_equality_comparable_with<S, I>;
2654
2655
template <typename S, typename I>
2656
inline constexpr bool disable_sized_sentinel = false;
2657
2658
namespace detail {
2659
2660
struct sized_sentinel_for_concept {
2661
    template <typename S, typename I>
2662
    auto requires_(const S& s, const I& i)
2663
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2664
                                                 iter_difference_t<I>>>{},
2665
                    requires_expr<std::is_same_v<decltype(i - s),
2666
                                                 iter_difference_t<I>>>{});
2667
};
2668
2669
}  // namespace detail
2670
2671
template <typename S, typename I>
2672
inline constexpr bool sized_sentinel_for =
2673
    sentinel_for<S, I> &&
2674
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2675
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2676
2677
// This is a hack, but I'm fed up with my tests breaking because GCC
2678
// has a silly extension
2679
template <typename S>
2680
inline constexpr bool sized_sentinel_for<S, void*> = false;
2681
2682
template <typename I>
2683
inline constexpr bool sized_sentinel_for<void*, I> = false;
2684
2685
template <>
2686
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2687
2688
namespace detail {
2689
2690
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2691
struct input_iterator_concept {
2692
    template <typename I>
2693
    auto requires_() -> iterator_category_t<I>;
2694
2695
    template <typename>
2696
    static auto test(long) -> std::false_type;
2697
2698
    template <typename I>
2699
    static auto test(int) -> std::enable_if_t<
2700
        input_or_output_iterator<I> && readable<I> &&
2701
            detail::requires_<input_iterator_concept, I> &&
2702
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2703
        std::true_type>;
2704
};
2705
2706
}  // namespace detail
2707
2708
template <typename I>
2709
inline constexpr bool input_iterator =
2710
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2711
2712
namespace detail {
2713
2714
struct output_iterator_concept {
2715
    template <typename I, typename T>
2716
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2717
};
2718
2719
}  // namespace detail
2720
2721
template <typename I, typename T>
2722
inline constexpr bool output_iterator =
2723
    input_or_output_iterator<I> && writable<I, T> &&
2724
    detail::requires_<detail::output_iterator_concept, I, T>;
2725
2726
namespace detail {
2727
2728
struct forward_iterator_concept {
2729
    template <typename>
2730
    static auto test(long) -> std::false_type;
2731
2732
    template <typename I>
2733
    static auto test(int) -> std::enable_if_t<
2734
        input_iterator<I> &&
2735
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2736
            incrementable<I> && sentinel_for<I, I>,
2737
        std::true_type>;
2738
};
2739
2740
}  // namespace detail
2741
2742
template <typename I>
2743
inline constexpr bool forward_iterator =
2744
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2745
2746
namespace detail {
2747
2748
struct bidirectional_iterator_concept {
2749
    template <typename I>
2750
    auto requires_(I i)
2751
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2752
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2753
2754
    template <typename>
2755
    static auto test(long) -> std::false_type;
2756
2757
    template <typename I>
2758
    static auto test(int) -> std::enable_if_t<
2759
        forward_iterator<I> &&
2760
            std::is_base_of_v<bidirectional_iterator_tag,
2761
                              iterator_category_t<I>> &&
2762
            detail::requires_<bidirectional_iterator_concept, I>,
2763
        std::true_type>;
2764
};
2765
2766
}  // namespace detail
2767
2768
template <typename I>
2769
inline constexpr bool bidirectional_iterator =
2770
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2771
2772
namespace detail {
2773
2774
struct random_access_iterator_concept {
2775
    template <typename>
2776
    static auto test(long) -> std::false_type;
2777
2778
    template <typename I>
2779
    static auto test(int) -> std::enable_if_t<
2780
        bidirectional_iterator<I> &&
2781
            std::is_base_of_v<random_access_iterator_tag,
2782
                              iterator_category_t<I>> &&
2783
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2784
            detail::requires_<random_access_iterator_concept, I>,
2785
        std::true_type>;
2786
2787
    template <typename I>
2788
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2789
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2790
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2791
#ifndef _MSC_VER
2792
                    requires_expr<std::is_same_v<decltype(n + j),
2793
                                                 I>>{},  // FIXME: MSVC doesn't
2794
                                                         // like this when I =
2795
                                                         // int*
2796
#endif
2797
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2798
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2799
                    requires_expr<
2800
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2801
};
2802
2803
}  // namespace detail
2804
2805
template <typename I>
2806
inline constexpr bool random_access_iterator =
2807
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2808
2809
namespace detail {
2810
2811
struct contiguous_iterator_concept {
2812
    template <typename>
2813
    static auto test(long) -> std::false_type;
2814
2815
    template <typename I>
2816
    static auto test(int) -> std::enable_if_t<
2817
        random_access_iterator<I> &&
2818
            /*std::is_base_of_v<contiguous_iterator_tag,
2819
                              iterator_category_t<I>> &&*/
2820
            detail::can_make_address_from_iterator<I> &&
2821
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2822
            std::is_same_v<iter_value_t<I>,
2823
                           remove_cvref_t<iter_reference_t<I>>>,
2824
        std::true_type>;
2825
};
2826
2827
}  // namespace detail
2828
2829
template <typename I>
2830
inline constexpr bool contiguous_iterator =
2831
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2832
2833
namespace detail::begin_ {
2834
2835
template <typename T>
2836
void begin(T&) = delete;
2837
template <typename T>
2838
void begin(const T&) = delete;
2839
2840
struct fn {
2841
private:
2842
    template <typename T,
2843
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2844
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2845
                  nullptr>
2846
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2847
2848
    template <typename T,
2849
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2850
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2851
        -> decltype(t + 0)
2852
    {
2853
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2854
        return t + 0;
2855
    }
2856
2857
    template <typename T>
2858
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2859
        noexcept(decay_copy(SCN_FWD(t).begin())))
2860
        -> std::enable_if_t<
2861
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2862
            decltype(decay_copy(SCN_FWD(t).begin()))>
2863
1.99M
    {
2864
1.99M
        return decay_copy(t.begin());
2865
1.99M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
38.3k
    {
2864
38.3k
        return decay_copy(t.begin());
2865
38.3k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
122k
    {
2864
122k
        return decay_copy(t.begin());
2865
122k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
355k
    {
2864
355k
        return decay_copy(t.begin());
2865
355k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
37.5k
    {
2864
37.5k
        return decay_copy(t.begin());
2865
37.5k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
155k
    {
2864
155k
        return decay_copy(t.begin());
2865
155k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
59.1k
    {
2864
59.1k
        return decay_copy(t.begin());
2865
59.1k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
76.7k
    {
2864
76.7k
        return decay_copy(t.begin());
2865
76.7k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
117k
    {
2864
117k
        return decay_copy(t.begin());
2865
117k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
298k
    {
2864
298k
        return decay_copy(t.begin());
2865
298k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
75.0k
    {
2864
75.0k
        return decay_copy(t.begin());
2865
75.0k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
117k
    {
2864
117k
        return decay_copy(t.begin());
2865
117k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
21.1k
    {
2864
21.1k
        return decay_copy(t.begin());
2865
21.1k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
92.7k
    {
2864
92.7k
        return decay_copy(t.begin());
2865
92.7k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
90.0k
    {
2864
90.0k
        return decay_copy(t.begin());
2865
90.0k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
155k
    {
2864
155k
        return decay_copy(t.begin());
2865
155k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
182k
    {
2864
182k
        return decay_copy(t.begin());
2865
182k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
2866
2867
    template <typename T>
2868
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2869
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2870
        -> std::enable_if_t<
2871
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2872
            decltype(decay_copy(begin(SCN_FWD(t))))>
2873
    {
2874
        return decay_copy(begin(SCN_FWD(t)));
2875
    }
2876
2877
public:
2878
    template <typename T>
2879
    constexpr auto operator()(T&& t) const
2880
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2881
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2882
1.99M
    {
2883
1.99M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
1.99M
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
38.3k
    {
2883
38.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
38.3k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
122k
    {
2883
122k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
122k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
355k
    {
2883
355k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
355k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
37.5k
    {
2883
37.5k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
37.5k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
155k
    {
2883
155k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
155k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
59.1k
    {
2883
59.1k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
59.1k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
76.7k
    {
2883
76.7k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
76.7k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
117k
    {
2883
117k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
117k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
298k
    {
2883
298k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
298k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
75.0k
    {
2883
75.0k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
75.0k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
117k
    {
2883
117k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
117k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
21.1k
    {
2883
21.1k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
21.1k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
92.7k
    {
2883
92.7k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
92.7k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
90.0k
    {
2883
90.0k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
90.0k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
155k
    {
2883
155k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
155k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
182k
    {
2883
182k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
182k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2885
};
2886
2887
}  // namespace detail::begin_
2888
2889
inline constexpr auto begin = detail::begin_::fn{};
2890
2891
namespace detail::end_ {
2892
2893
template <typename T>
2894
void end(T&) = delete;
2895
template <typename T>
2896
void end(const T&) = delete;
2897
2898
struct fn {
2899
private:
2900
    template <typename T,
2901
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2902
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2903
                  nullptr>
2904
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2905
2906
    template <typename T,
2907
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2908
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2909
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2910
    {
2911
        return t + std::extent_v<remove_cvref_t<T>>;
2912
    }
2913
2914
    template <typename T,
2915
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2916
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2917
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2918
        noexcept(decay_copy(SCN_FWD(t).end())))
2919
        -> std::enable_if_t<sentinel_for<S, I>,
2920
                            decltype(decay_copy(SCN_FWD(t).end()))>
2921
4.41M
    {
2922
4.41M
        return decay_copy(SCN_FWD(t).end());
2923
4.41M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
161k
    {
2922
161k
        return decay_copy(SCN_FWD(t).end());
2923
161k
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
111k
    {
2922
111k
        return decay_copy(SCN_FWD(t).end());
2923
111k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
193k
    {
2922
193k
        return decay_copy(SCN_FWD(t).end());
2923
193k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
2.24M
    {
2922
2.24M
        return decay_copy(SCN_FWD(t).end());
2923
2.24M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
59.1k
    {
2922
59.1k
        return decay_copy(SCN_FWD(t).end());
2923
59.1k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
193k
    {
2922
193k
        return decay_copy(SCN_FWD(t).end());
2923
193k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
110k
    {
2922
110k
        return decay_copy(SCN_FWD(t).end());
2923
110k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
192k
    {
2922
192k
        return decay_copy(SCN_FWD(t).end());
2923
192k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
940k
    {
2922
940k
        return decay_copy(SCN_FWD(t).end());
2923
940k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
21.1k
    {
2922
21.1k
        return decay_copy(SCN_FWD(t).end());
2923
21.1k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
98.2k
    {
2922
98.2k
        return decay_copy(SCN_FWD(t).end());
2923
98.2k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
89.0k
    {
2922
89.0k
        return decay_copy(SCN_FWD(t).end());
2923
89.0k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
2924
2925
    template <typename T,
2926
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2927
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2928
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2929
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2930
    {
2931
        return decay_copy(end(SCN_FWD(t)));
2932
    }
2933
2934
public:
2935
    template <typename T>
2936
    constexpr auto operator()(T&& t) const
2937
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2938
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2939
4.41M
    {
2940
4.41M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
4.41M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
161k
    {
2940
161k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
161k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
111k
    {
2940
111k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
111k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
193k
    {
2940
193k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
193k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
2.24M
    {
2940
2.24M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
2.24M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
59.1k
    {
2940
59.1k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
59.1k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
193k
    {
2940
193k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
193k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
110k
    {
2940
110k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
110k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
192k
    {
2940
192k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
192k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
940k
    {
2940
940k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
940k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
21.1k
    {
2940
21.1k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
21.1k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
98.2k
    {
2940
98.2k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
98.2k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
89.0k
    {
2940
89.0k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
89.0k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
2942
};
2943
2944
}  // namespace detail::end_
2945
2946
inline constexpr auto end = detail::end_::fn{};
2947
2948
namespace detail {
2949
struct range_concept {
2950
    template <typename T>
2951
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2952
};
2953
}  // namespace detail
2954
2955
template <typename T>
2956
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2957
2958
template <typename T>
2959
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2960
2961
template <typename R>
2962
using sentinel_t =
2963
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2964
2965
template <typename R>
2966
using range_difference_t =
2967
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2968
2969
template <typename R>
2970
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2971
2972
template <typename R>
2973
using range_reference_t =
2974
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2975
2976
namespace detail {
2977
template <typename, typename = void>
2978
inline constexpr bool is_object_pointer_v = false;
2979
template <typename P>
2980
inline constexpr bool
2981
    is_object_pointer_v<P,
2982
                        std::enable_if_t<std::is_pointer_v<P> &&
2983
                                         std::is_object_v<iter_value_t<P>>>> =
2984
        true;
2985
2986
namespace data_ {
2987
2988
struct fn {
2989
private:
2990
    template <typename T,
2991
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2992
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2993
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2994
929k
    {
2995
929k
        return t.data();
2996
929k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
80.2k
    {
2995
80.2k
        return t.data();
2996
80.2k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
96.1k
    {
2995
96.1k
        return t.data();
2996
96.1k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
155k
    {
2995
155k
        return t.data();
2996
155k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
182k
    {
2995
182k
        return t.data();
2996
182k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
233k
    {
2995
233k
        return t.data();
2996
233k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
182k
    {
2995
182k
        return t.data();
2996
182k
    }
2997
2998
    template <typename T>
2999
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3000
        noexcept(scn::ranges::begin(SCN_FWD(t))))
3001
        -> std::enable_if_t<
3002
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
3003
            decltype(scn::ranges::begin(SCN_FWD(t)))>
3004
337k
    {
3005
337k
        return scn::ranges::begin(SCN_FWD(t));
3006
337k
    }
std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
3004
155k
    {
3005
155k
        return scn::ranges::begin(SCN_FWD(t));
3006
155k
    }
std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
3004
182k
    {
3005
182k
        return scn::ranges::begin(SCN_FWD(t));
3006
182k
    }
3007
3008
public:
3009
    template <typename T>
3010
    constexpr auto operator()(T&& t) const
3011
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
3012
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
3013
1.26M
    {
3014
1.26M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
1.26M
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
80.2k
    {
3014
80.2k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
80.2k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
96.1k
    {
3014
96.1k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
96.1k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
155k
    {
3014
155k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
155k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
182k
    {
3014
182k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
182k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
233k
    {
3014
233k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
233k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
182k
    {
3014
182k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
182k
    }
_ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
155k
    {
3014
155k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
155k
    }
_ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
182k
    {
3014
182k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
182k
    }
3016
};
3017
3018
}  // namespace data_
3019
}  // namespace detail
3020
3021
inline constexpr auto data = detail::data_::fn{};
3022
3023
template <typename T>
3024
inline constexpr bool disable_sized_range = false;
3025
3026
namespace detail::size_ {
3027
3028
template <typename T>
3029
void size(T&&) = delete;
3030
template <typename T>
3031
void size(T&) = delete;
3032
3033
struct fn {
3034
private:
3035
    template <typename T, std::size_t N>
3036
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
3037
    {
3038
        return N;
3039
    }
3040
3041
    template <typename T, std::size_t N>
3042
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
3043
    {
3044
        return N;
3045
    }
3046
3047
    template <typename T,
3048
              typename I = decltype(decay_copy(std::declval<T>().size()))>
3049
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3050
        noexcept(decay_copy(SCN_FWD(t).size())))
3051
        -> std::enable_if_t<std::is_integral_v<I> &&
3052
                                !disable_sized_range<remove_cvref_t<T>>,
3053
                            I>
3054
682k
    {
3055
682k
        return decay_copy(SCN_FWD(t).size());
3056
682k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
80.2k
    {
3055
80.2k
        return decay_copy(SCN_FWD(t).size());
3056
80.2k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
96.1k
    {
3055
96.1k
        return decay_copy(SCN_FWD(t).size());
3056
96.1k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
77.7k
    {
3055
77.7k
        return decay_copy(SCN_FWD(t).size());
3056
77.7k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
91.1k
    {
3055
91.1k
        return decay_copy(SCN_FWD(t).size());
3056
91.1k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
77.7k
    {
3055
77.7k
        return decay_copy(SCN_FWD(t).size());
3056
77.7k
    }
_ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
77.7k
    {
3055
77.7k
        return decay_copy(SCN_FWD(t).size());
3056
77.7k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
91.1k
    {
3055
91.1k
        return decay_copy(SCN_FWD(t).size());
3056
91.1k
    }
_ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
91.1k
    {
3055
91.1k
        return decay_copy(SCN_FWD(t).size());
3056
91.1k
    }
3057
3058
    template <typename T,
3059
              typename I = decltype(decay_copy(size(std::declval<T>())))>
3060
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3061
        noexcept(decay_copy(size(SCN_FWD(t)))))
3062
        -> std::enable_if_t<std::is_integral_v<I> &&
3063
                                !disable_sized_range<remove_cvref_t<T>>,
3064
                            I>
3065
    {
3066
        return decay_copy(size(SCN_FWD(t)));
3067
    }
3068
3069
    template <typename T,
3070
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
3071
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
3072
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
3073
                                                             SCN_DECLVAL(I)))>
3074
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
3075
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
3076
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
3077
                                sized_sentinel_for<S, I> && forward_iterator<I>,
3078
                            D>
3079
    {
3080
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
3081
    }
3082
3083
public:
3084
    template <typename T>
3085
    constexpr auto operator()(T&& t) const
3086
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
3087
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
3088
682k
    {
3089
682k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
682k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3088
80.2k
    {
3089
80.2k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
80.2k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3088
96.1k
    {
3089
96.1k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
96.1k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
_ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3088
77.7k
    {
3089
77.7k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
77.7k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3088
91.1k
    {
3089
91.1k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
91.1k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3088
77.7k
    {
3089
77.7k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
77.7k
    }
_ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Line
Count
Source
3088
77.7k
    {
3089
77.7k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
77.7k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3088
91.1k
    {
3089
91.1k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
91.1k
    }
_ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Line
Count
Source
3088
91.1k
    {
3089
91.1k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
91.1k
    }
3091
};
3092
3093
}  // namespace detail::size_
3094
3095
inline constexpr auto size = detail::size_::fn{};
3096
3097
namespace detail {
3098
namespace ssize_ {
3099
struct fn {
3100
private:
3101
    template <typename T>
3102
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
3103
                                                  sizeof(std::ptrdiff_t),
3104
                                              std::ptrdiff_t,
3105
                                              range_difference_t<T>>;
3106
3107
    template <typename T>
3108
    static constexpr auto impl(T&& t) noexcept(
3109
        noexcept(ranges::size(std::forward<T>(t))))
3110
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
3111
0
    {
3112
0
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3113
0
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
3114
3115
public:
3116
    template <typename T>
3117
    constexpr auto operator()(T&& t) const
3118
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
3119
            -> decltype(fn::impl(std::forward<T>(t)))
3120
0
    {
3121
0
        return fn::impl(std::forward<T>(t));
3122
0
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
3123
};
3124
}  // namespace ssize_
3125
}  // namespace detail
3126
3127
inline constexpr auto ssize = detail::ssize_::fn{};
3128
3129
namespace detail::empty_ {
3130
struct fn {
3131
private:
3132
    template <typename T>
3133
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3134
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
3135
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
3136
    {
3137
        return static_cast<bool>(SCN_FWD(t).empty());
3138
    }
3139
3140
    template <typename T>
3141
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3142
        noexcept(ranges::size(SCN_FWD(t)) == 0))
3143
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
3144
    {
3145
        return ranges::size(SCN_FWD(t)) == 0;
3146
    }
3147
3148
    template <typename T,
3149
              typename I = decltype(ranges::begin(std::declval<T>()))>
3150
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3151
        noexcept(ranges::begin(t) == ranges::end(t)))
3152
        -> std::enable_if_t<forward_iterator<I>,
3153
                            decltype(ranges::begin(t) == ranges::end(t))>
3154
    {
3155
        return ranges::begin(t) == ranges::end(t);
3156
    }
3157
3158
public:
3159
    template <typename T>
3160
    constexpr auto operator()(T&& t) const
3161
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3162
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3163
    {
3164
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3165
    }
3166
};
3167
}  // namespace detail::empty_
3168
3169
inline constexpr auto empty = detail::empty_::fn{};
3170
3171
/**
3172
 * \see `std::ranges::borrowed_range`
3173
 */
3174
template <typename T>
3175
inline constexpr bool borrowed_range =
3176
    range<T> && (std::is_lvalue_reference_v<T> ||
3177
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3178
3179
namespace detail {
3180
struct sized_range_concept {
3181
    template <typename T>
3182
    auto requires_(T& t) -> decltype(ranges::size(t));
3183
};
3184
}  // namespace detail
3185
3186
template <typename T>
3187
inline constexpr bool sized_range =
3188
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3189
    detail::requires_<detail::sized_range_concept, T>;
3190
3191
namespace detail {
3192
struct output_range_concept {
3193
    template <typename, typename>
3194
    static auto test(long) -> std::false_type;
3195
3196
    template <typename R, typename T>
3197
    static auto test(int)
3198
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3199
                            std::true_type>;
3200
};
3201
}  // namespace detail
3202
3203
template <typename R, typename T>
3204
inline constexpr bool output_range =
3205
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3206
3207
namespace detail {
3208
struct input_range_concept {
3209
    template <typename>
3210
    static auto test(long) -> std::false_type;
3211
3212
    template <typename T>
3213
    static auto test(int)
3214
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3215
                            std::true_type>;
3216
};
3217
}  // namespace detail
3218
3219
template <typename T>
3220
inline constexpr bool input_range =
3221
    decltype(detail::input_range_concept::test<T>(0))::value;
3222
3223
namespace detail {
3224
struct forward_range_concept {
3225
    template <typename>
3226
    static auto test(long) -> std::false_type;
3227
3228
    template <typename T>
3229
    static auto test(int)
3230
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3231
                            std::true_type>;
3232
};
3233
}  // namespace detail
3234
3235
template <typename T>
3236
inline constexpr bool forward_range =
3237
    decltype(detail::forward_range_concept::test<T>(0))::value;
3238
3239
namespace detail {
3240
struct bidirectional_range_concept {
3241
    template <typename>
3242
    static auto test(long) -> std::false_type;
3243
3244
    template <typename T>
3245
    static auto test(int)
3246
        -> std::enable_if_t<forward_range<T> &&
3247
                                bidirectional_iterator<iterator_t<T>>,
3248
                            std::true_type>;
3249
};
3250
}  // namespace detail
3251
3252
template <typename T>
3253
inline constexpr bool bidirectional_range =
3254
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3255
3256
namespace detail {
3257
struct random_access_range_concept {
3258
    template <typename>
3259
    static auto test(long) -> std::false_type;
3260
3261
    template <typename T>
3262
    static auto test(int)
3263
        -> std::enable_if_t<bidirectional_range<T> &&
3264
                                random_access_iterator<iterator_t<T>>,
3265
                            std::true_type>;
3266
};
3267
}  // namespace detail
3268
3269
template <typename T>
3270
inline constexpr bool random_access_range =
3271
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3272
3273
namespace detail {
3274
// FIXME: Not to spec
3275
// We only require random_access_iterator, not contiguous_iterator
3276
// This is so that vector::iterator, string::iterator etc can model
3277
// contiguous_range.
3278
// If we do range-v3-style deep integration with iterator_traits then
3279
// this could be fixed
3280
struct contiguous_range_concept {
3281
    template <typename>
3282
    static auto test(long) -> std::false_type;
3283
3284
    template <typename T>
3285
    static auto test(int) -> std::enable_if_t<
3286
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3287
                                   * &&
3288
                                   */
3289
            detail::requires_<contiguous_range_concept, T>,
3290
        std::true_type>;
3291
3292
    template <typename T>
3293
    auto requires_(T& t)
3294
        -> decltype(requires_expr<std::is_same_v<
3295
                        decltype(ranges::data(t)),
3296
                        std::add_pointer_t<range_reference_t<T>>>>{});
3297
};
3298
}  // namespace detail
3299
3300
template <typename R>
3301
inline constexpr bool contiguous_range =
3302
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3303
3304
namespace detail {
3305
struct common_range_concept {
3306
    template <typename>
3307
    static auto test(long) -> std::false_type;
3308
3309
    template <typename T>
3310
    static auto test(int)
3311
        -> std::enable_if_t<range<T> &&
3312
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3313
                            std::true_type>;
3314
};
3315
}  // namespace detail
3316
3317
template <typename T>
3318
inline constexpr bool common_range =
3319
    decltype(detail::common_range_concept::test<T>(0))::value;
3320
3321
/**
3322
 * \see `std::ranges::dangling`
3323
 */
3324
struct dangling {
3325
    constexpr dangling() noexcept = default;
3326
3327
    template <typename... Args>
3328
    constexpr dangling(Args&&...) noexcept
3329
    {
3330
    }
3331
};
3332
3333
/**
3334
 * \see `std::ranges::borrowed_iterator_t`
3335
 */
3336
template <typename R>
3337
using borrowed_iterator_t =
3338
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3339
3340
template <typename D>
3341
class view_interface {
3342
    static_assert(std::is_class<D>::value, "");
3343
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3344
3345
private:
3346
    constexpr D& derived() noexcept
3347
422k
    {
3348
422k
        return static_cast<D&>(*this);
3349
422k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3347
235k
    {
3348
235k
        return static_cast<D&>(*this);
3349
235k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3347
187k
    {
3348
187k
        return static_cast<D&>(*this);
3349
187k
    }
3350
3351
    constexpr const D& derived() const noexcept
3352
176k
    {
3353
176k
        return static_cast<const D&>(*this);
3354
176k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Line
Count
Source
3352
80.2k
    {
3353
80.2k
        return static_cast<const D&>(*this);
3354
80.2k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
Line
Count
Source
3352
96.1k
    {
3353
96.1k
        return static_cast<const D&>(*this);
3354
96.1k
    }
3355
3356
public:
3357
    template <typename R = D>
3358
    [[nodiscard]] constexpr auto empty()
3359
        -> std::enable_if_t<forward_range<R>, bool>
3360
    {
3361
        return ranges::begin(derived()) == ranges::end(derived());
3362
    }
3363
3364
    template <typename R = D>
3365
    [[nodiscard]] constexpr auto empty() const
3366
        -> std::enable_if_t<forward_range<const R>, bool>
3367
    {
3368
        return ranges::begin(derived()) == ranges::end(derived());
3369
    }
3370
3371
    template <typename R = D,
3372
              typename = decltype(ranges::empty(std::declval<R&>()))>
3373
    constexpr explicit operator bool()
3374
    {
3375
        return !ranges::empty(derived());
3376
    }
3377
3378
    template <typename R = D,
3379
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3380
    constexpr explicit operator bool() const
3381
    {
3382
        return !ranges::empty(derived());
3383
    }
3384
3385
    template <typename R = D,
3386
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3387
    constexpr auto data()
3388
422k
    {
3389
422k
        return detail::to_address(ranges::begin(derived()));
3390
422k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3388
235k
    {
3389
235k
        return detail::to_address(ranges::begin(derived()));
3390
235k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3388
187k
    {
3389
187k
        return detail::to_address(ranges::begin(derived()));
3390
187k
    }
3391
3392
    template <typename R = D,
3393
              typename = std::enable_if_t<
3394
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3395
    constexpr auto data() const
3396
176k
    {
3397
176k
        return detail::to_address(ranges::begin(derived()));
3398
176k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Line
Count
Source
3396
80.2k
    {
3397
80.2k
        return detail::to_address(ranges::begin(derived()));
3398
80.2k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
Line
Count
Source
3396
96.1k
    {
3397
96.1k
        return detail::to_address(ranges::begin(derived()));
3398
96.1k
    }
3399
3400
    template <typename R = D,
3401
              typename = std::enable_if_t<
3402
                  forward_range<R> &&
3403
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3404
    constexpr auto size()
3405
    {
3406
        return ranges::end(derived()) - ranges::begin(derived());
3407
    }
3408
3409
    template <typename R = D,
3410
              typename = std::enable_if_t<
3411
                  forward_range<const R> &&
3412
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3413
    constexpr auto size() const
3414
    {
3415
        return ranges::end(derived()) - ranges::begin(derived());
3416
    }
3417
3418
#if 0
3419
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3420
    constexpr decltype(auto) front()
3421
    {
3422
        return *ranges::begin(derived());
3423
    }
3424
3425
    template <typename R = D,
3426
              typename = std::enable_if_t<forward_range<const R>>>
3427
    constexpr decltype(auto) front() const
3428
    {
3429
        return *ranges::begin(derived());
3430
    }
3431
3432
    template <
3433
        typename R = D,
3434
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3435
    constexpr decltype(auto) back()
3436
    {
3437
        return *ranges::prev(ranges::end(derived()));
3438
    }
3439
3440
    template <typename R = D,
3441
              typename = std::enable_if_t<bidirectional_range<const R> &&
3442
                                          common_range<const R>>>
3443
    constexpr decltype(auto) back() const
3444
    {
3445
        return *ranges::prev(ranges::end(derived()));
3446
    }
3447
3448
    template <typename R = D,
3449
              typename = std::enable_if_t<random_access_range<R>>>
3450
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3451
    {
3452
        return ranges::begin(derived())[n];
3453
    }
3454
#endif
3455
3456
    template <typename R = D,
3457
              typename = std::enable_if_t<random_access_range<const R>>>
3458
    constexpr decltype(auto) operator[](
3459
        iter_difference_t<iterator_t<const R>> n) const
3460
    {
3461
        return ranges::begin(derived())[n];
3462
    }
3463
};
3464
3465
namespace detail::subrange_ {
3466
3467
template <typename I, typename S = I>
3468
class subrange : public view_interface<subrange<I, S>> {
3469
    static_assert(input_or_output_iterator<I>);
3470
    static_assert(sentinel_for<S, I>);
3471
3472
public:
3473
369k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::subrange()
Line
Count
Source
3473
80.2k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::subrange()
Line
Count
Source
3473
96.6k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange()
Line
Count
Source
3473
96.1k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::subrange()
Line
Count
Source
3473
96.1k
    subrange() = default;
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
3474
3475
    template <typename I_,
3476
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3477
    constexpr subrange(I_ i, S s)
3478
3.01M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
3.01M
    {
3480
3.01M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS7_PKS8_lLl4096EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3478
155k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
155k
    {
3480
155k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS7_PKS8_lLl1024EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3478
117k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
117k
    {
3480
117k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3478
687k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
687k
    {
3480
687k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3478
629k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
629k
    {
3480
629k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES8_EC2IS8_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESC_S8_
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3478
590k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
590k
    {
3480
590k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3478
837k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
837k
    {
3480
837k
    }
3481
3482
    template <
3483
        typename R,
3484
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3485
                         std::is_convertible_v<iterator_t<R>, I> &&
3486
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3487
    constexpr subrange(R&& r)
3488
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3489
    {
3490
    }
3491
3492
    constexpr I begin() const
3493
5.43M
    {
3494
5.43M
        return m_iterator;
3495
5.43M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3493
1.06M
    {
3494
1.06M
        return m_iterator;
3495
1.06M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const
Line
Count
Source
3493
214k
    {
3494
214k
        return m_iterator;
3495
214k
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3493
1.67M
    {
3494
1.67M
        return m_iterator;
3495
1.67M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const
Line
Count
Source
3493
138k
    {
3494
138k
        return m_iterator;
3495
138k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3493
1.28M
    {
3494
1.28M
        return m_iterator;
3495
1.28M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3493
1.06M
    {
3494
1.06M
        return m_iterator;
3495
1.06M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::begin() const
3496
    constexpr S end() const
3497
8.06M
    {
3498
8.06M
        return m_sentinel;
3499
8.06M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3497
814k
    {
3498
814k
        return m_sentinel;
3499
814k
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const
Line
Count
Source
3497
2.30M
    {
3498
2.30M
        return m_sentinel;
3499
2.30M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3497
1.33M
    {
3498
1.33M
        return m_sentinel;
3499
1.33M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const
Line
Count
Source
3497
961k
    {
3498
961k
        return m_sentinel;
3499
961k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3497
1.61M
    {
3498
1.61M
        return m_sentinel;
3499
1.61M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3497
1.03M
    {
3498
1.03M
        return m_sentinel;
3499
1.03M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::end() const
3500
3501
    SCN_NODISCARD constexpr bool empty() const
3502
    {
3503
        return m_iterator == m_sentinel;
3504
    }
3505
3506
    template <typename I_ = I,
3507
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3508
    constexpr std::size_t size() const
3509
663k
    {
3510
663k
        return static_cast<size_t>(m_sentinel - m_iterator);
3511
663k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3509
358k
    {
3510
358k
        return static_cast<size_t>(m_sentinel - m_iterator);
3511
358k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3509
304k
    {
3510
304k
        return static_cast<size_t>(m_sentinel - m_iterator);
3511
304k
    }
3512
3513
private:
3514
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3515
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3516
};
3517
3518
template <typename I,
3519
          typename S,
3520
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3521
              nullptr>
3522
subrange(I, S) -> subrange<I, S>;
3523
3524
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3525
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3526
3527
}  // namespace detail::subrange_
3528
3529
/**
3530
 * \see `std::ranges::subrange`
3531
 */
3532
using detail::subrange_::subrange;
3533
3534
template <typename I, typename S>
3535
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3536
3537
struct default_sentinel_t {};
3538
inline constexpr default_sentinel_t default_sentinel{};
3539
3540
}  // namespace ranges
3541
3542
namespace detail {
3543
3544
namespace char_t_fn {
3545
template <typename T, typename = typename T::value_type>
3546
constexpr auto impl_nonarray(priority_tag<2>)
3547
0
{
3548
0
    return tag_type<typename T::value_type>{};
3549
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(scn::v4::detail::priority_tag<2ul>)
3550
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3551
constexpr auto impl_nonarray(priority_tag<1>)
3552
0
{
3553
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3554
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
3555
template <typename T>
3556
constexpr auto impl_nonarray(priority_tag<0>)
3557
{
3558
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3559
}
3560
3561
template <typename T,
3562
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3563
constexpr auto impl()
3564
0
{
3565
0
    using T_nocvref = remove_cvref_t<T>;
3566
0
    if constexpr (std::is_array_v<T_nocvref>) {
3567
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3568
0
    }
3569
0
    else {
3570
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3571
0
    }
3572
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, void>()
3573
3574
template <typename Range>
3575
using result = decltype(impl<Range>());
3576
}  // namespace char_t_fn
3577
3578
template <typename Range>
3579
using char_t = typename char_t_fn::result<Range>::type;
3580
3581
template <typename Range, typename = void>
3582
inline constexpr bool is_file_or_narrow_range_impl = false;
3583
template <>
3584
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3585
template <typename Range>
3586
inline constexpr bool
3587
    is_file_or_narrow_range_impl<Range,
3588
                                 std::enable_if_t<ranges::range<Range>>> =
3589
        std::is_same_v<char_t<Range>, char>;
3590
3591
template <typename Range>
3592
inline constexpr bool is_file_or_narrow_range =
3593
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3594
3595
template <typename Range, typename = void>
3596
inline constexpr bool is_wide_range = false;
3597
template <typename Range>
3598
inline constexpr bool
3599
    is_wide_range<Range,
3600
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3601
        std::is_same_v<char_t<Range>, wchar_t>;
3602
3603
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3604
struct borrowed_tail_subrange {
3605
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3606
};
3607
template <typename R>
3608
struct borrowed_tail_subrange<R, false> {
3609
    using type = ranges::dangling;
3610
};
3611
3612
/// Equivalent to
3613
/// `ranges::subrange<ranges::iterator_t<R>,
3614
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3615
/// `ranges::dangling` otherwise.
3616
///
3617
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3618
/// the range sentinel.
3619
template <typename R>
3620
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3621
3622
}  // namespace detail
3623
3624
namespace ranges {
3625
template <typename CharT, typename Traits>
3626
inline constexpr bool
3627
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3628
}
3629
3630
/////////////////////////////////////////////////////////////////
3631
// Small generic algorithms
3632
/////////////////////////////////////////////////////////////////
3633
3634
namespace detail {
3635
3636
/**
3637
 * Implementation of `std::min_element` without including `<algorithm>`
3638
 */
3639
template <typename It>
3640
constexpr It min_element(It first, It last)
3641
{
3642
    if (first == last) {
3643
        return last;
3644
    }
3645
3646
    It smallest = first;
3647
    ++first;
3648
    for (; first != last; ++first) {
3649
        if (*first < *smallest) {
3650
            smallest = first;
3651
        }
3652
    }
3653
    return smallest;
3654
}
3655
3656
/**
3657
 * Implementation of `std::min` without including `<algorithm>`
3658
 */
3659
template <typename T>
3660
constexpr T min(T a, T b) noexcept
3661
{
3662
    return (b < a) ? b : a;
3663
}
3664
3665
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3666
constexpr Ptr find(Ptr first, Ptr last, T value)
3667
{
3668
    for (; first != last; ++first) {
3669
        if (*first == value) {
3670
            return first;
3671
        }
3672
    }
3673
    return last;
3674
}
3675
3676
template <>
3677
inline const char* find<false, char>(const char* first,
3678
                                     const char* last,
3679
                                     char value)
3680
0
{
3681
0
    auto ptr = static_cast<const char*>(
3682
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3683
0
    return ptr != nullptr ? ptr : last;
3684
0
}
3685
3686
}  // namespace detail
3687
3688
/////////////////////////////////////////////////////////////////
3689
// Errors
3690
/////////////////////////////////////////////////////////////////
3691
3692
/**
3693
 * Error class.
3694
 * Used as a return value for functions without a success value.
3695
 * Doesn't have a success state, and isn't default constructible:
3696
 * use `expected<void, scan_error>` to achieve that.
3697
 *
3698
 * \ingroup result
3699
 */
3700
class SCN_TRIVIAL_ABI scan_error {
3701
public:
3702
    /// Error code
3703
    enum code {
3704
        /// Input ended unexpectedly.
3705
        end_of_input,
3706
3707
        /// Format string was invalid.
3708
        /// Often a compile-time error, if supported and/or enabled.
3709
        invalid_format_string,
3710
3711
        /// Scanned value was invalid for given type,
3712
        /// or a value of the given couldn't be scanned.
3713
        invalid_scanned_value,
3714
3715
        /// Literal character specified in format string not found in source.
3716
        invalid_literal,
3717
3718
        /// Too many fill characters scanned,
3719
        /// field precision (max width) exceeded.
3720
        invalid_fill,
3721
3722
        /// Scanned field width was shorter than
3723
        /// what was specified as the minimum field width.
3724
        length_too_short,
3725
3726
        /// Source range is in an invalid state,
3727
        /// failed to continue reading.
3728
        invalid_source_state,
3729
3730
        /// Value out of range, too large (higher than the maximum value)
3731
        /// i.e. >2^32 for int32
3732
        value_positive_overflow,
3733
3734
        /// Value out of range, too small (lower than the minimum value)
3735
        /// i.e. <2^32 for int32
3736
        value_negative_overflow,
3737
3738
        /// Value out of range, magnitude too small, sign +
3739
        /// (between 0 and the smallest subnormal float)
3740
        value_positive_underflow,
3741
3742
        /// Value out of range, magnitude too small, sign -
3743
        /// (between 0 and the smallest subnormal float)
3744
        value_negative_underflow,
3745
3746
        /// Value of this type can't be parsed,
3747
        /// either from this source or not at all.
3748
        type_not_supported,
3749
3750
        max_error
3751
    };
3752
3753
private:
3754
    using code_t = code;
3755
3756
public:
3757
    /// Constructs an error with `c` and `m`
3758
875k
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3759
875k
    {
3760
875k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3761
875k
    }
3762
3763
    constexpr explicit operator code_t() const noexcept
3764
0
    {
3765
0
        return m_code;
3766
0
    }
3767
3768
    /// Get error code
3769
    SCN_NODISCARD constexpr code_t code() const noexcept
3770
0
    {
3771
0
        return m_code;
3772
0
    }
3773
    /// Get error message
3774
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3775
0
    {
3776
0
        return m_msg;
3777
0
    }
3778
3779
    /// Convert to a `std::errc`.
3780
    SCN_NODISCARD constexpr std::errc to_errc() const noexcept
3781
0
    {
3782
0
        switch (m_code) {
3783
0
            case end_of_input:
3784
0
            case invalid_format_string:
3785
0
            case invalid_scanned_value:
3786
0
            case invalid_literal:
3787
0
            case invalid_fill:
3788
0
            case length_too_short:
3789
0
                return std::errc::invalid_argument;
3790
0
            case invalid_source_state:
3791
0
                return std::errc::io_error;
3792
0
            case value_positive_overflow:
3793
0
            case value_negative_overflow:
3794
0
            case value_positive_underflow:
3795
0
            case value_negative_underflow:
3796
0
                return std::errc::result_out_of_range;
3797
0
            case max_error:
3798
0
            default:
3799
0
                assert(false);
3800
0
                SCN_UNREACHABLE;
3801
0
        }
3802
0
    }
3803
3804
private:
3805
    const char* m_msg;
3806
    code_t m_code;
3807
};
3808
3809
constexpr bool operator==(scan_error a, scan_error b) noexcept
3810
0
{
3811
0
    return a.code() == b.code();
3812
0
}
3813
constexpr bool operator!=(scan_error a, scan_error b) noexcept
3814
0
{
3815
0
    return !(a == b);
3816
0
}
3817
3818
constexpr bool operator==(scan_error a, enum scan_error::code b) noexcept
3819
0
{
3820
0
    return a.code() == b;
3821
0
}
3822
constexpr bool operator!=(scan_error a, enum scan_error::code b) noexcept
3823
0
{
3824
0
    return !(a == b);
3825
0
}
3826
3827
constexpr bool operator==(enum scan_error::code a, scan_error b) noexcept
3828
0
{
3829
0
    return a == b.code();
3830
0
}
3831
constexpr bool operator!=(enum scan_error::code a, scan_error b) noexcept
3832
0
{
3833
0
    return !(a == b);
3834
0
}
3835
3836
namespace detail {
3837
// Intentionally not constexpr, to give out a compile-time error
3838
SCN_COLD scan_error handle_error(scan_error e);
3839
}  // namespace detail
3840
3841
#if SCN_HAS_EXCEPTIONS
3842
3843
namespace detail {
3844
3845
class scan_format_string_error_base : public std::runtime_error {
3846
public:
3847
    explicit scan_format_string_error_base(const std::string& what_arg)
3848
        : runtime_error(what_arg)
3849
0
    {
3850
0
    }
3851
3852
    explicit scan_format_string_error_base(std::false_type,
3853
                                           const char* what_arg)
3854
        : runtime_error(what_arg)
3855
0
    {
3856
0
    }
3857
3858
    explicit scan_format_string_error_base(std::true_type, const char* what_arg)
3859
        : runtime_error(what_arg), m_internal_literal_msg(what_arg)
3860
0
    {
3861
0
    }
3862
3863
    // Doing everything in a `detail::` base class
3864
    // to make this a `friend` inside that namespace
3865
    // (essentially private)
3866
    friend const char* get_internal_literal_msg(
3867
        const scan_format_string_error_base& m)
3868
0
    {
3869
0
        return m.m_internal_literal_msg;
3870
0
    }
3871
3872
private:
3873
    const char* m_internal_literal_msg{nullptr};
3874
};
3875
3876
}  // namespace detail
3877
3878
/**
3879
 * An exception type used to report format string parsing errors.
3880
 */
3881
class scan_format_string_error : public detail::scan_format_string_error_base {
3882
public:
3883
    // Not `using` constructors to document them explicitly.
3884
3885
    /**
3886
     * Construct from a `std::string`.
3887
     */
3888
    explicit scan_format_string_error(const std::string& what_arg)
3889
        : scan_format_string_error_base(what_arg)
3890
0
    {
3891
0
    }
3892
3893
    /**
3894
     * Construct from a `const char*`.
3895
     */
3896
    explicit scan_format_string_error(const char* what_arg)
3897
        : scan_format_string_error_base(std::false_type{}, what_arg)
3898
0
    {
3899
0
    }
3900
3901
    /**
3902
     * Construct from a string literal.
3903
     */
3904
    template <std::size_t N>
3905
    explicit scan_format_string_error(const char (&what_arg)[N])
3906
        : scan_format_string_error_base(std::true_type{}, what_arg)
3907
    {
3908
    }
3909
};
3910
#endif
3911
3912
/**
3913
 * An `expected<T, scan_error>`.
3914
 *
3915
 * Not a type alias to shorten template names.
3916
 *
3917
 * \ingroup result
3918
 */
3919
template <typename T>
3920
struct scan_expected : public expected<T, scan_error> {
3921
    using expected<T, scan_error>::expected;
3922
3923
    scan_expected(const expected<T, scan_error>& other)
3924
        : expected<T, scan_error>(other)
3925
    {
3926
    }
3927
    scan_expected(expected<T, scan_error>&& other)
3928
354k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
354k
    {
3930
354k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>&&)
scn::v4::scan_expected<char const*>::scan_expected(scn::v4::expected<char const*, scn::v4::scan_error>&&)
Line
Count
Source
3928
77.7k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
77.7k
    {
3930
77.7k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3928
94.1k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
94.1k
    {
3930
94.1k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>&&)
scn::v4::scan_expected<wchar_t const*>::scan_expected(scn::v4::expected<wchar_t const*, scn::v4::scan_error>&&)
Line
Count
Source
3928
91.1k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
91.1k
    {
3930
91.1k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3928
91.1k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
91.1k
    {
3930
91.1k
    }
3931
};
3932
3933
namespace detail {
3934
constexpr auto unexpected_scan_error(enum scan_error::code c, const char* m)
3935
0
{
3936
0
    return unexpected(scan_error{c, m});
3937
0
}
3938
3939
template <typename T>
3940
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3941
}  // namespace detail
3942
3943
574k
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3944
574k
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3945
574k
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3946
3947
#define SCN_TRY_DISCARD(x)                                      \
3948
738k
    if (auto&& SCN_TRY_TMP = (x); SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3949
240k
        return ::scn::unexpected(SCN_TRY_TMP.error());          \
3950
240k
    }
3951
3952
#define SCN_TRY_ASSIGN(init, x)                        \
3953
892k
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3954
892k
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3955
334k
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3956
334k
    }                                                  \
3957
892k
    init = *SCN_FWD(SCN_TRY_TMP);
3958
892k
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3959
3960
/////////////////////////////////////////////////////////////////
3961
// string_view utilities
3962
/////////////////////////////////////////////////////////////////
3963
3964
namespace detail {
3965
3966
template <typename T>
3967
struct is_string_view : std::false_type {};
3968
template <typename CharT, typename Traits>
3969
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3970
};
3971
3972
// workarounds for MSVC string_view debug iterators
3973
template <typename CharT>
3974
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3975
    typename std::basic_string_view<CharT>::iterator first,
3976
    typename std::basic_string_view<CharT>::iterator last)
3977
302k
{
3978
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3979
                                          decltype(first), decltype(last)> &&
3980
                  !SCN_MSVC_DEBUG_ITERATORS) {
3981
        return {first, last};
3982
    }
3983
302k
    else {
3984
302k
        return {to_address(first), static_cast<size_t>(std::distance(
3985
302k
                                       to_address(first), to_address(last)))};
3986
302k
    }
3987
302k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3977
302k
{
3978
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3979
                                          decltype(first), decltype(last)> &&
3980
                  !SCN_MSVC_DEBUG_ITERATORS) {
3981
        return {first, last};
3982
    }
3983
302k
    else {
3984
302k
        return {to_address(first), static_cast<size_t>(std::distance(
3985
302k
                                       to_address(first), to_address(last)))};
3986
302k
    }
3987
302k
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
3988
3989
template <typename CharT>
3990
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3991
    const CharT* first,
3992
    const CharT* last)
3993
691k
{
3994
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3995
                                          const CharT*, const CharT*>) {
3996
        return {first, last};
3997
    }
3998
691k
    else {
3999
691k
        return {first, static_cast<size_t>(std::distance(first, last))};
4000
691k
    }
4001
691k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3993
327k
{
3994
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3995
                                          const CharT*, const CharT*>) {
3996
        return {first, last};
3997
    }
3998
327k
    else {
3999
327k
        return {first, static_cast<size_t>(std::distance(first, last))};
4000
327k
    }
4001
327k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3993
364k
{
3994
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3995
                                          const CharT*, const CharT*>) {
3996
        return {first, last};
3997
    }
3998
364k
    else {
3999
364k
        return {first, static_cast<size_t>(std::distance(first, last))};
4000
364k
    }
4001
364k
}
4002
4003
template <typename CharT>
4004
constexpr auto make_string_view_iterator(
4005
    std::basic_string_view<CharT> sv,
4006
    typename std::basic_string_view<CharT>::iterator it) ->
4007
    typename std::basic_string_view<CharT>::iterator
4008
440k
{
4009
    if constexpr (std::is_constructible_v<
4010
                      typename std::basic_string_view<CharT>::iterator,
4011
                      decltype(it)> &&
4012
440k
                  !SCN_MSVC_DEBUG_ITERATORS) {
4013
440k
        SCN_UNUSED(sv);
4014
440k
        return it;
4015
    }
4016
    else {
4017
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4018
    }
4019
440k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v4::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
4008
440k
{
4009
    if constexpr (std::is_constructible_v<
4010
                      typename std::basic_string_view<CharT>::iterator,
4011
                      decltype(it)> &&
4012
440k
                  !SCN_MSVC_DEBUG_ITERATORS) {
4013
440k
        SCN_UNUSED(sv);
4014
440k
        return it;
4015
    }
4016
    else {
4017
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4018
    }
4019
440k
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v4::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
4020
4021
template <typename CharT>
4022
constexpr auto make_string_view_iterator_from_pointer(
4023
    std::basic_string_view<CharT> sv,
4024
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
4025
{
4026
    if constexpr (std::is_constructible_v<
4027
                      typename std::basic_string_view<CharT>::iterator,
4028
                      const CharT*> &&
4029
                  !SCN_MSVC_DEBUG_ITERATORS) {
4030
        SCN_UNUSED(sv);
4031
        return ptr;
4032
    }
4033
    else {
4034
        return sv.begin() + std::distance(sv.data(), ptr);
4035
    }
4036
}
4037
4038
/////////////////////////////////////////////////////////////////
4039
// Lightweight Unicode facilities
4040
/////////////////////////////////////////////////////////////////
4041
4042
constexpr inline bool is_ascii_code_point(char32_t cp)
4043
0
{
4044
0
    return cp <= 0x7f;
4045
0
}
4046
4047
template <typename U8>
4048
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
4049
860k
{
4050
860k
    static_assert(sizeof(U8) == 1);
4051
4052
860k
    SCN_GCC_COMPAT_PUSH
4053
860k
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
4054
860k
    constexpr char lengths[] =
4055
860k
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
4056
860k
        "\1\1\1\1\1\1\1\1"
4057
860k
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
4058
                            // byte
4059
860k
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
4060
860k
        "\3\3"              // highest bits 1110 -> 3-byte cp
4061
860k
        "\4";               // highest bits 11110 -> 4-byte cp
4062
860k
    return lengths[static_cast<unsigned char>(ch) >> 3];
4063
860k
    SCN_GCC_COMPAT_POP
4064
860k
}
4065
4066
template <typename U16>
4067
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
4068
{
4069
    static_assert(sizeof(U16) == 2);
4070
4071
    const auto lead = static_cast<uint16_t>(0xffff & ch);
4072
    if (lead >= 0xd800 && lead <= 0xdbff) {
4073
        // high surrogate
4074
        return 2;
4075
    }
4076
    if (lead >= 0xdc00 && lead <= 0xdfff) {
4077
        // unpaired low surrogate
4078
        return 0;
4079
    }
4080
    return 1;
4081
}
4082
4083
template <typename U>
4084
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
4085
1.30M
{
4086
1.30M
    if constexpr (sizeof(U) == 1) {
4087
860k
        return utf8_code_point_length_by_starting_code_unit(ch);
4088
    }
4089
    else if constexpr (sizeof(U) == 2) {
4090
        return utf16_code_point_length_by_starting_code_unit(ch);
4091
    }
4092
439k
    else {
4093
        // utf-32
4094
439k
        static_assert(sizeof(U) == 4);
4095
439k
        SCN_UNUSED(ch);
4096
439k
        return 1;
4097
439k
    }
4098
1.30M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
4085
860k
{
4086
860k
    if constexpr (sizeof(U) == 1) {
4087
860k
        return utf8_code_point_length_by_starting_code_unit(ch);
4088
    }
4089
    else if constexpr (sizeof(U) == 2) {
4090
        return utf16_code_point_length_by_starting_code_unit(ch);
4091
    }
4092
    else {
4093
        // utf-32
4094
        static_assert(sizeof(U) == 4);
4095
        SCN_UNUSED(ch);
4096
        return 1;
4097
    }
4098
860k
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
4085
439k
{
4086
    if constexpr (sizeof(U) == 1) {
4087
        return utf8_code_point_length_by_starting_code_unit(ch);
4088
    }
4089
    else if constexpr (sizeof(U) == 2) {
4090
        return utf16_code_point_length_by_starting_code_unit(ch);
4091
    }
4092
439k
    else {
4093
        // utf-32
4094
439k
        static_assert(sizeof(U) == 4);
4095
439k
        SCN_UNUSED(ch);
4096
439k
        return 1;
4097
439k
    }
4098
439k
}
4099
4100
inline constexpr char32_t invalid_code_point = 0x110000;
4101
4102
inline constexpr char32_t decode_utf8_code_point_exhaustive(
4103
    std::string_view input)
4104
402k
{
4105
402k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4106
4107
402k
    const auto is_trailing_code_unit = [](char ch) {
4108
10.6k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4109
10.6k
    };
4110
4111
402k
    if (input.size() == 1) {
4112
392k
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
4113
174
            SCN_UNLIKELY_ATTR
4114
174
            return invalid_code_point;
4115
174
        }
4116
391k
        return static_cast<char32_t>(input[0]);
4117
392k
    }
4118
4119
10.2k
    if (input.size() == 2) {
4120
8.48k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
4121
60
            SCN_UNLIKELY_ATTR
4122
60
            return invalid_code_point;
4123
60
        }
4124
8.42k
        if (!is_trailing_code_unit(input[1])) {
4125
1.90k
            SCN_UNLIKELY_ATTR
4126
1.90k
            return invalid_code_point;
4127
1.90k
        }
4128
4129
6.51k
        char32_t cp{};
4130
6.51k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4131
6.51k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4132
6.51k
        return cp;
4133
8.42k
    }
4134
4135
1.75k
    if (input.size() == 3) {
4136
699
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
4137
48
            SCN_UNLIKELY_ATTR
4138
48
            return invalid_code_point;
4139
48
        }
4140
651
        if (!is_trailing_code_unit(input[1]) ||
4141
651
            !is_trailing_code_unit(input[2])) {
4142
531
            SCN_UNLIKELY_ATTR
4143
531
            return invalid_code_point;
4144
531
        }
4145
4146
120
        char32_t cp{};
4147
120
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4148
120
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4149
120
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4150
120
        return cp;
4151
651
    }
4152
4153
1.05k
    if (input.size() == 4) {
4154
1.05k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
4155
0
            SCN_UNLIKELY_ATTR
4156
0
            return invalid_code_point;
4157
0
        }
4158
1.05k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
4159
377
            SCN_UNLIKELY_ATTR
4160
377
            return invalid_code_point;
4161
377
        }
4162
679
        if (!is_trailing_code_unit(input[1]) ||
4163
679
            !is_trailing_code_unit(input[2]) ||
4164
679
            !is_trailing_code_unit(input[3])) {
4165
554
            SCN_UNLIKELY_ATTR
4166
554
            return invalid_code_point;
4167
554
        }
4168
4169
125
        char32_t cp{};
4170
125
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4171
125
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4172
125
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4173
125
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4174
125
        return cp;
4175
679
    }
4176
4177
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4178
    // gcc 7 thinks we'll get here, even when we won't
4179
0
    SCN_EXPECT(false);
4180
0
#endif
4181
0
    SCN_UNREACHABLE;
4182
0
}
4183
4184
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
4185
    std::string_view input)
4186
0
{
4187
0
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4188
4189
0
    const auto is_trailing_code_unit = [](char ch) {
4190
0
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4191
0
    };
4192
4193
0
    if (input.size() == 1) {
4194
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
4195
0
        return static_cast<char32_t>(input[0]);
4196
0
    }
4197
4198
0
    if (input.size() == 2) {
4199
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
4200
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4201
4202
0
        char32_t cp{};
4203
0
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4204
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4205
0
        return cp;
4206
0
    }
4207
4208
0
    if (input.size() == 3) {
4209
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
4210
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4211
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4212
4213
0
        char32_t cp{};
4214
0
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4215
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4216
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4217
0
        return cp;
4218
0
    }
4219
4220
0
    if (input.size() == 4) {
4221
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
4222
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
4223
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4224
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4225
0
        SCN_EXPECT(is_trailing_code_unit(input[3]));
4226
4227
0
        char32_t cp{};
4228
0
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4229
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4230
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4231
0
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4232
0
        return cp;
4233
0
    }
4234
4235
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4236
    // gcc 7 thinks we'll get here, even when we won't
4237
0
    SCN_EXPECT(false);
4238
0
#endif
4239
0
    SCN_UNREACHABLE;
4240
0
}
4241
4242
template <typename CharT>
4243
inline constexpr char32_t decode_utf16_code_point_exhaustive(
4244
    std::basic_string_view<CharT> input)
4245
{
4246
    static_assert(sizeof(CharT) == 2);
4247
4248
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4249
4250
    if (input.size() == 1) {
4251
        return static_cast<char32_t>(input[0]);
4252
    }
4253
4254
    const auto lead = static_cast<uint32_t>(input[0]);
4255
    const auto trail = static_cast<uint32_t>(input[1]);
4256
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
4257
        SCN_UNLIKELY_ATTR
4258
        return invalid_code_point;
4259
    }
4260
4261
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4262
    return static_cast<char32_t>(cp + 0x10000);
4263
}
4264
4265
template <typename CharT>
4266
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
4267
    std::basic_string_view<CharT> input)
4268
{
4269
    static_assert(sizeof(CharT) == 2);
4270
4271
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4272
4273
    if (input.size() == 1) {
4274
        return static_cast<char32_t>(input[0]);
4275
    }
4276
4277
    const auto lead = static_cast<uint32_t>(input[0]);
4278
    const auto trail = static_cast<uint32_t>(input[1]);
4279
    SCN_EXPECT(lead >= 0xd800);
4280
    SCN_EXPECT(lead <= 0xdbff);
4281
    SCN_EXPECT(trail >= 0xdc00);
4282
    SCN_EXPECT(trail <= 0xdfff);
4283
4284
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4285
    return static_cast<char32_t>(cp + 0x10000);
4286
}
4287
4288
template <typename CharT>
4289
inline constexpr char32_t decode_code_point_exhaustive(
4290
    std::basic_string_view<CharT> input)
4291
741k
{
4292
741k
    if constexpr (sizeof(CharT) == 1) {
4293
402k
        return decode_utf8_code_point_exhaustive(input);
4294
    }
4295
    else if constexpr (sizeof(CharT) == 2) {
4296
        return decode_utf16_code_point_exhaustive(input);
4297
    }
4298
339k
    else {
4299
339k
        SCN_EXPECT(input.size() == 1);
4300
339k
        auto cp = static_cast<char32_t>(input.front());
4301
339k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4302
44.8k
            return invalid_code_point;
4303
44.8k
        }
4304
294k
        return cp;
4305
339k
    }
4306
741k
}
char32_t scn::v4::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4291
402k
{
4292
402k
    if constexpr (sizeof(CharT) == 1) {
4293
402k
        return decode_utf8_code_point_exhaustive(input);
4294
    }
4295
    else if constexpr (sizeof(CharT) == 2) {
4296
        return decode_utf16_code_point_exhaustive(input);
4297
    }
4298
    else {
4299
        SCN_EXPECT(input.size() == 1);
4300
        auto cp = static_cast<char32_t>(input.front());
4301
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4302
            return invalid_code_point;
4303
        }
4304
        return cp;
4305
    }
4306
402k
}
char32_t scn::v4::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4291
339k
{
4292
    if constexpr (sizeof(CharT) == 1) {
4293
        return decode_utf8_code_point_exhaustive(input);
4294
    }
4295
    else if constexpr (sizeof(CharT) == 2) {
4296
        return decode_utf16_code_point_exhaustive(input);
4297
    }
4298
339k
    else {
4299
339k
        SCN_EXPECT(input.size() == 1);
4300
339k
        auto cp = static_cast<char32_t>(input.front());
4301
339k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4302
44.8k
            return invalid_code_point;
4303
44.8k
        }
4304
294k
        return cp;
4305
339k
    }
4306
339k
}
4307
4308
template <typename CharT>
4309
inline constexpr char32_t decode_code_point_exhaustive_valid(
4310
    std::basic_string_view<CharT> input)
4311
0
{
4312
0
    if constexpr (sizeof(CharT) == 1) {
4313
0
        return decode_utf8_code_point_exhaustive_valid(input);
4314
    }
4315
    else if constexpr (sizeof(CharT) == 2) {
4316
        return decode_utf16_code_point_exhaustive_valid(input);
4317
    }
4318
0
    else {
4319
0
        SCN_EXPECT(input.size() == 1);
4320
0
        return static_cast<char32_t>(input.front());
4321
0
    }
4322
0
}
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4323
4324
inline constexpr bool is_cp_space(char32_t cp) noexcept
4325
548k
{
4326
    // Pattern_White_Space property
4327
548k
    return (cp >= 0x09 && cp <= 0x0d) ||
4328
548k
           cp == 0x20 ||    // ASCII space characters
4329
548k
           cp == 0x85 ||    // NEXT LINE (NEL)
4330
548k
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
4331
548k
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
4332
548k
           cp == 0x2028 ||  // LINE SEPARATOR
4333
548k
           cp == 0x2029;    // PARAGRAPH SEPARATOR
4334
548k
}
4335
4336
}  // namespace detail
4337
4338
/////////////////////////////////////////////////////////////////
4339
// scan_buffer
4340
/////////////////////////////////////////////////////////////////
4341
4342
namespace detail {
4343
template <typename CharT>
4344
class basic_scan_buffer {
4345
public:
4346
    class forward_iterator;
4347
    class common_forward_iterator;
4348
4349
    using char_type = CharT;
4350
    using range_type =
4351
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4352
    using common_range_type = ranges::subrange<common_forward_iterator>;
4353
4354
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4355
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4356
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4357
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4358
361k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Line
Count
Source
4358
174k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
Line
Count
Source
4358
187k
    virtual ~basic_scan_buffer() = default;
4359
4360
    virtual bool fill() = 0;
4361
4362
    virtual bool sync(std::ptrdiff_t position)
4363
192k
    {
4364
192k
        SCN_UNUSED(position);
4365
192k
        return true;
4366
192k
    }
scn::v4::detail::basic_scan_buffer<char>::sync(long)
Line
Count
Source
4363
96.6k
    {
4364
96.6k
        SCN_UNUSED(position);
4365
96.6k
        return true;
4366
96.6k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync(long)
Line
Count
Source
4363
96.1k
    {
4364
96.1k
        SCN_UNUSED(position);
4365
96.1k
        return true;
4366
96.1k
    }
4367
4368
    bool sync_all()
4369
112k
    {
4370
112k
        return sync(0);
4371
112k
    }
scn::v4::detail::basic_scan_buffer<char>::sync_all()
Line
Count
Source
4369
37.5k
    {
4370
37.5k
        return sync(0);
4371
37.5k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync_all()
Line
Count
Source
4369
75.0k
    {
4370
75.0k
        return sync(0);
4371
75.0k
    }
4372
4373
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4374
7.77M
    {
4375
7.77M
        return m_putback_buffer.size() + m_current_view.size();
4376
7.77M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::chars_available() const
Line
Count
Source
4374
2.51M
    {
4375
2.51M
        return m_putback_buffer.size() + m_current_view.size();
4376
2.51M
    }
scn::v4::detail::basic_scan_buffer<char>::chars_available() const
Line
Count
Source
4374
5.26M
    {
4375
5.26M
        return m_putback_buffer.size() + m_current_view.size();
4376
5.26M
    }
4377
4378
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4379
0
    {
4380
0
        return m_current_view;
4381
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::current_view() const
4382
4383
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4384
0
    {
4385
0
        return m_putback_buffer;
4386
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4387
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4388
    {
4389
        return m_putback_buffer;
4390
    }
4391
4392
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4393
        std::ptrdiff_t pos) const
4394
94.1k
    {
4395
94.1k
        if (SCN_UNLIKELY(
4396
94.1k
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4397
0
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4398
0
        }
4399
94.1k
        const auto start = pos - m_putback_buffer.size();
4400
94.1k
        SCN_EXPECT(start <= m_current_view.size());
4401
94.1k
        return m_current_view.substr(start);
4402
94.1k
    }
scn::v4::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Line
Count
Source
4394
94.1k
    {
4395
94.1k
        if (SCN_UNLIKELY(
4396
94.1k
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4397
0
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4398
0
        }
4399
94.1k
        const auto start = pos - m_putback_buffer.size();
4400
94.1k
        SCN_EXPECT(start <= m_current_view.size());
4401
94.1k
        return m_current_view.substr(start);
4402
94.1k
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
4403
4404
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4405
1.85M
    {
4406
1.85M
        if (SCN_UNLIKELY(
4407
1.85M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4408
749k
            return m_putback_buffer[pos];
4409
749k
        }
4410
1.10M
        const auto start = pos - m_putback_buffer.size();
4411
1.10M
        SCN_EXPECT(start < m_current_view.size());
4412
1.10M
        return m_current_view[start];
4413
1.10M
    }
scn::v4::detail::basic_scan_buffer<char>::get_character_at(long) const
Line
Count
Source
4405
1.16M
    {
4406
1.16M
        if (SCN_UNLIKELY(
4407
1.16M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4408
374k
            return m_putback_buffer[pos];
4409
374k
        }
4410
792k
        const auto start = pos - m_putback_buffer.size();
4411
792k
        SCN_EXPECT(start < m_current_view.size());
4412
792k
        return m_current_view[start];
4413
792k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
Line
Count
Source
4405
684k
    {
4406
684k
        if (SCN_UNLIKELY(
4407
684k
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4408
374k
            return m_putback_buffer[pos];
4409
374k
        }
4410
309k
        const auto start = pos - m_putback_buffer.size();
4411
309k
        SCN_EXPECT(start < m_current_view.size());
4412
309k
        return m_current_view[start];
4413
309k
    }
4414
4415
    SCN_NODISCARD bool is_contiguous() const
4416
747k
    {
4417
747k
        return m_is_contiguous;
4418
747k
    }
scn::v4::detail::basic_scan_buffer<char>::is_contiguous() const
Line
Count
Source
4416
367k
    {
4417
367k
        return m_is_contiguous;
4418
367k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
Line
Count
Source
4416
379k
    {
4417
379k
        return m_is_contiguous;
4418
379k
    }
4419
4420
    SCN_NODISCARD auto get_contiguous() const
4421
0
    {
4422
0
        SCN_EXPECT(is_contiguous());
4423
0
        return ranges::subrange<const CharT*>{
4424
0
            current_view().data(),
4425
0
            current_view().data() + current_view().size()};
4426
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4427
4428
    SCN_NODISCARD range_type get();
4429
    SCN_NODISCARD common_range_type get_common_range();
4430
4431
protected:
4432
    friend class forward_iterator;
4433
    friend class common_forward_iterator;
4434
4435
    struct contiguous_tag {};
4436
    struct non_contiguous_tag {};
4437
4438
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4439
168k
        : m_current_view(sv), m_is_contiguous(true)
4440
168k
    {
4441
168k
    }
scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4439
77.7k
        : m_current_view(sv), m_is_contiguous(true)
4440
77.7k
    {
4441
77.7k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4439
91.1k
        : m_current_view(sv), m_is_contiguous(true)
4440
91.1k
    {
4441
91.1k
    }
4442
4443
    basic_scan_buffer(non_contiguous_tag,
4444
                      std::basic_string_view<char_type> sv = {})
4445
192k
        : m_current_view(sv), m_is_contiguous(false)
4446
192k
    {
4447
192k
    }
scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4445
96.6k
        : m_current_view(sv), m_is_contiguous(false)
4446
96.6k
    {
4447
96.6k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4445
96.1k
        : m_current_view(sv), m_is_contiguous(false)
4446
96.1k
    {
4447
96.1k
    }
4448
4449
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4450
0
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4451
0
    {
4452
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4453
4454
    std::basic_string_view<char_type> m_current_view{};
4455
    std::basic_string<char_type> m_putback_buffer{};
4456
    bool m_is_contiguous{false};
4457
};
4458
4459
template <typename CharT>
4460
class basic_scan_buffer<CharT>::forward_iterator {
4461
public:
4462
    using value_type = CharT;
4463
    using reference = CharT;
4464
    using pointer = CharT*;
4465
    using difference_type = std::ptrdiff_t;
4466
    using iterator_category = std::forward_iterator_tag;
4467
4468
0
    forward_iterator() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator()
4469
4470
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4471
192k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4472
192k
    {
4473
192k
        SCN_EXPECT(parent);
4474
192k
        SCN_EXPECT(!parent->is_contiguous());
4475
192k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<char>*, long)
Line
Count
Source
4471
96.6k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4472
96.6k
    {
4473
96.6k
        SCN_EXPECT(parent);
4474
96.6k
        SCN_EXPECT(!parent->is_contiguous());
4475
96.6k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>*, long)
Line
Count
Source
4471
96.1k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4472
96.1k
    {
4473
96.1k
        SCN_EXPECT(parent);
4474
96.1k
        SCN_EXPECT(!parent->is_contiguous());
4475
96.1k
    }
4476
4477
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4478
176k
        : m_begin(const_cast<CharT*>(view.data())),
4479
176k
          m_end(const_cast<CharT*>(view.data() + view.size())),
4480
176k
          m_position(pos)
4481
176k
    {
4482
176k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Line
Count
Source
4478
80.2k
        : m_begin(const_cast<CharT*>(view.data())),
4479
80.2k
          m_end(const_cast<CharT*>(view.data() + view.size())),
4480
80.2k
          m_position(pos)
4481
80.2k
    {
4482
80.2k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
Line
Count
Source
4478
96.1k
        : m_begin(const_cast<CharT*>(view.data())),
4479
96.1k
          m_end(const_cast<CharT*>(view.data() + view.size())),
4480
96.1k
          m_position(pos)
4481
96.1k
    {
4482
96.1k
    }
4483
4484
    std::ptrdiff_t position() const
4485
390k
    {
4486
390k
        return m_position;
4487
390k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::position() const
Line
Count
Source
4485
257k
    {
4486
257k
        return m_position;
4487
257k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
Line
Count
Source
4485
133k
    {
4486
133k
        return m_position;
4487
133k
    }
4488
4489
    bool stores_parent() const
4490
18.9M
    {
4491
18.9M
        assert(m_begin);
4492
18.9M
        return m_end == nullptr;
4493
18.9M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Line
Count
Source
4490
12.5M
    {
4491
12.5M
        assert(m_begin);
4492
12.5M
        return m_end == nullptr;
4493
12.5M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
Line
Count
Source
4490
6.37M
    {
4491
6.37M
        assert(m_begin);
4492
6.37M
        return m_end == nullptr;
4493
6.37M
    }
4494
4495
    basic_scan_buffer<CharT>* parent()
4496
0
    {
4497
0
        SCN_EXPECT(stores_parent());
4498
0
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4499
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
4500
    const basic_scan_buffer<CharT>* parent() const
4501
10.8M
    {
4502
10.8M
        SCN_EXPECT(stores_parent());
4503
10.8M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4504
10.8M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Line
Count
Source
4501
7.28M
    {
4502
7.28M
        SCN_EXPECT(stores_parent());
4503
7.28M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4504
7.28M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
Line
Count
Source
4501
3.52M
    {
4502
3.52M
        SCN_EXPECT(stores_parent());
4503
3.52M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4504
3.52M
    }
4505
4506
    std::basic_string_view<CharT> contiguous_segment() const
4507
263k
    {
4508
263k
        if (!stores_parent()) {
4509
168k
            return make_string_view_from_pointers(
4510
168k
                static_cast<const CharT*>(m_begin) + position(),
4511
168k
                static_cast<const CharT*>(m_end));
4512
168k
        }
4513
94.1k
        return parent()->get_segment_starting_at(position());
4514
263k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Line
Count
Source
4507
171k
    {
4508
171k
        if (!stores_parent()) {
4509
77.7k
            return make_string_view_from_pointers(
4510
77.7k
                static_cast<const CharT*>(m_begin) + position(),
4511
77.7k
                static_cast<const CharT*>(m_end));
4512
77.7k
        }
4513
94.1k
        return parent()->get_segment_starting_at(position());
4514
171k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
Line
Count
Source
4507
91.1k
    {
4508
91.1k
        if (!stores_parent()) {
4509
91.1k
            return make_string_view_from_pointers(
4510
91.1k
                static_cast<const CharT*>(m_begin) + position(),
4511
91.1k
                static_cast<const CharT*>(m_end));
4512
91.1k
        }
4513
0
        return parent()->get_segment_starting_at(position());
4514
91.1k
    }
4515
    auto to_contiguous_segment_iterator() const
4516
    {
4517
        return contiguous_segment().data();
4518
    }
4519
4520
    forward_iterator& operator++()
4521
1.72M
    {
4522
1.72M
        ++m_position;
4523
1.72M
        (void)read_at_position();
4524
1.72M
        return *this;
4525
1.72M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Line
Count
Source
4521
1.29M
    {
4522
1.29M
        ++m_position;
4523
1.29M
        (void)read_at_position();
4524
1.29M
        return *this;
4525
1.29M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
Line
Count
Source
4521
423k
    {
4522
423k
        ++m_position;
4523
423k
        (void)read_at_position();
4524
423k
        return *this;
4525
423k
    }
4526
4527
    forward_iterator operator++(int)
4528
    {
4529
        auto copy = *this;
4530
        operator++();
4531
        return copy;
4532
    }
4533
4534
    CharT operator*() const
4535
1.85M
    {
4536
1.85M
        SCN_EXPECT(m_begin);
4537
4538
1.85M
        if (!stores_parent()) {
4539
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4540
0
            SCN_EXPECT(ptr != m_end);
4541
0
            return *ptr;
4542
0
        }
4543
4544
1.85M
        auto res = read_at_position();
4545
1.85M
        SCN_EXPECT(res);
4546
1.85M
        return parent()->get_character_at(m_position);
4547
1.85M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Line
Count
Source
4535
1.16M
    {
4536
1.16M
        SCN_EXPECT(m_begin);
4537
4538
1.16M
        if (!stores_parent()) {
4539
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4540
0
            SCN_EXPECT(ptr != m_end);
4541
0
            return *ptr;
4542
0
        }
4543
4544
1.16M
        auto res = read_at_position();
4545
1.16M
        SCN_EXPECT(res);
4546
1.16M
        return parent()->get_character_at(m_position);
4547
1.16M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
Line
Count
Source
4535
684k
    {
4536
684k
        SCN_EXPECT(m_begin);
4537
4538
684k
        if (!stores_parent()) {
4539
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4540
0
            SCN_EXPECT(ptr != m_end);
4541
0
            return *ptr;
4542
0
        }
4543
4544
684k
        auto res = read_at_position();
4545
684k
        SCN_EXPECT(res);
4546
684k
        return parent()->get_character_at(m_position);
4547
684k
    }
4548
4549
    forward_iterator& batch_advance(std::ptrdiff_t n)
4550
63.7k
    {
4551
63.7k
        SCN_EXPECT(n >= 0);
4552
63.7k
        m_position += n;
4553
63.7k
        return *this;
4554
63.7k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance(long)
Line
Count
Source
4550
42.6k
    {
4551
42.6k
        SCN_EXPECT(n >= 0);
4552
42.6k
        m_position += n;
4553
42.6k
        return *this;
4554
42.6k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance(long)
Line
Count
Source
4550
21.1k
    {
4551
21.1k
        SCN_EXPECT(n >= 0);
4552
21.1k
        m_position += n;
4553
21.1k
        return *this;
4554
21.1k
    }
4555
4556
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4557
168k
    {
4558
168k
        SCN_EXPECT(i >= m_position);
4559
168k
        m_position = i;
4560
168k
        return *this;
4561
168k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Line
Count
Source
4557
77.7k
    {
4558
77.7k
        SCN_EXPECT(i >= m_position);
4559
77.7k
        m_position = i;
4560
77.7k
        return *this;
4561
77.7k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
Line
Count
Source
4557
91.1k
    {
4558
91.1k
        SCN_EXPECT(i >= m_position);
4559
91.1k
        m_position = i;
4560
91.1k
        return *this;
4561
91.1k
    }
4562
4563
    friend bool operator==(const forward_iterator& lhs,
4564
                           const forward_iterator& rhs)
4565
728k
    {
4566
728k
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4567
728k
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4565
582k
    {
4566
582k
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4567
582k
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4565
146k
    {
4566
146k
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4567
146k
    }
4568
    friend bool operator!=(const forward_iterator& lhs,
4569
                           const forward_iterator& rhs)
4570
728k
    {
4571
728k
        return !(lhs == rhs);
4572
728k
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4570
582k
    {
4571
582k
        return !(lhs == rhs);
4572
582k
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4570
146k
    {
4571
146k
        return !(lhs == rhs);
4572
146k
    }
4573
4574
    friend bool operator==(const forward_iterator& x,
4575
                           ranges::default_sentinel_t)
4576
927k
    {
4577
927k
        return x.is_at_end();
4578
927k
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4576
523k
    {
4577
523k
        return x.is_at_end();
4578
523k
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4576
404k
    {
4577
404k
        return x.is_at_end();
4578
404k
    }
4579
    friend bool operator==(ranges::default_sentinel_t,
4580
                           const forward_iterator& x)
4581
    {
4582
        return x.is_at_end();
4583
    }
4584
4585
    friend bool operator!=(const forward_iterator& x,
4586
                           ranges::default_sentinel_t)
4587
1.14M
    {
4588
1.14M
        return !x.is_at_end();
4589
1.14M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4587
767k
    {
4588
767k
        return !x.is_at_end();
4589
767k
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4587
373k
    {
4588
373k
        return !x.is_at_end();
4589
373k
    }
4590
    friend bool operator!=(ranges::default_sentinel_t,
4591
                           const forward_iterator& x)
4592
    {
4593
        return !x.is_at_end();
4594
    }
4595
4596
private:
4597
    friend class basic_scan_buffer<CharT>;
4598
4599
    SCN_NODISCARD bool read_at_position() const
4600
5.64M
    {
4601
5.64M
        SCN_EXPECT(m_begin);
4602
4603
5.64M
        if (!stores_parent()) {
4604
0
            return true;
4605
0
        }
4606
4607
5.64M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4608
4.55M
            return true;
4609
4.55M
        }
4610
4611
2.13M
        while (m_position >= parent()->chars_available()) {
4612
1.08M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4613
32.8k
                return false;
4614
32.8k
            }
4615
1.08M
        }
4616
1.05M
        return true;
4617
1.08M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Line
Count
Source
4600
3.75M
    {
4601
3.75M
        SCN_EXPECT(m_begin);
4602
4603
3.75M
        if (!stores_parent()) {
4604
0
            return true;
4605
0
        }
4606
4607
3.75M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4608
2.99M
            return true;
4609
2.99M
        }
4610
4611
1.50M
        while (m_position >= parent()->chars_available()) {
4612
758k
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4613
14.5k
                return false;
4614
14.5k
            }
4615
758k
        }
4616
744k
        return true;
4617
758k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
Line
Count
Source
4600
1.88M
    {
4601
1.88M
        SCN_EXPECT(m_begin);
4602
4603
1.88M
        if (!stores_parent()) {
4604
0
            return true;
4605
0
        }
4606
4607
1.88M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4608
1.55M
            return true;
4609
1.55M
        }
4610
4611
633k
        while (m_position >= parent()->chars_available()) {
4612
325k
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4613
18.2k
                return false;
4614
18.2k
            }
4615
325k
        }
4616
307k
        return true;
4617
325k
    }
4618
4619
    SCN_NODISCARD bool is_at_end() const
4620
2.06M
    {
4621
2.06M
        if (m_end) {
4622
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4623
0
        }
4624
2.06M
        if (!m_begin) {
4625
0
            return true;
4626
0
        }
4627
2.06M
        return !read_at_position();
4628
2.06M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Line
Count
Source
4620
1.29M
    {
4621
1.29M
        if (m_end) {
4622
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4623
0
        }
4624
1.29M
        if (!m_begin) {
4625
0
            return true;
4626
0
        }
4627
1.29M
        return !read_at_position();
4628
1.29M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
Line
Count
Source
4620
777k
    {
4621
777k
        if (m_end) {
4622
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4623
0
        }
4624
777k
        if (!m_begin) {
4625
0
            return true;
4626
0
        }
4627
777k
        return !read_at_position();
4628
777k
    }
4629
4630
    // If m_end is null, m_begin points to the parent scan_buffer
4631
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4632
    // the entire range)
4633
    mutable void* m_begin{nullptr};
4634
    mutable void* m_end{nullptr};
4635
    std::ptrdiff_t m_position{0};
4636
};
4637
4638
template <typename CharT>
4639
class basic_scan_buffer<CharT>::common_forward_iterator
4640
    : public basic_scan_buffer<CharT>::forward_iterator {
4641
    using base = basic_scan_buffer<CharT>::forward_iterator;
4642
4643
public:
4644
    common_forward_iterator() = default;
4645
4646
    explicit common_forward_iterator(forward_iterator it)
4647
0
        : base(it), m_is_end(it.is_at_end())
4648
0
    {
4649
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
4650
    explicit common_forward_iterator(ranges::default_sentinel_t)
4651
0
        : base(), m_is_end(true)
4652
0
    {
4653
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
4654
4655
    common_forward_iterator& operator++()
4656
    {
4657
        base::operator++();
4658
        m_is_end = base::is_at_end();
4659
        return *this;
4660
    }
4661
4662
    common_forward_iterator operator++(int)
4663
    {
4664
        auto copy = *this;
4665
        operator++();
4666
        return copy;
4667
    }
4668
4669
    common_forward_iterator& batch_advance(std::ptrdiff_t n)
4670
    {
4671
        base::batch_advance(n);
4672
        m_is_end = base::is_at_end();
4673
        return *this;
4674
    }
4675
4676
    common_forward_iterator& batch_advance_to(std::ptrdiff_t i)
4677
    {
4678
        base::batch_advance_to(i);
4679
        m_is_end = base::is_at_end();
4680
        return *this;
4681
    }
4682
4683
    friend bool operator==(const common_forward_iterator& lhs,
4684
                           const common_forward_iterator& rhs)
4685
    {
4686
        if (lhs.m_is_end && rhs.m_is_end) {
4687
            return true;
4688
        }
4689
        if (lhs.m_is_end != rhs.m_is_end) {
4690
            return false;
4691
        }
4692
        return static_cast<const forward_iterator&>(lhs) ==
4693
               static_cast<const forward_iterator&>(rhs);
4694
    }
4695
4696
    friend bool operator!=(const common_forward_iterator& lhs,
4697
                           const common_forward_iterator& rhs)
4698
    {
4699
        return !(lhs == rhs);
4700
    }
4701
4702
private:
4703
    bool m_is_end{};
4704
};
4705
4706
template <typename CharT>
4707
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4708
361k
{
4709
361k
    if (is_contiguous()) {
4710
168k
        return ranges::subrange{forward_iterator{m_current_view, 0},
4711
168k
                                ranges::default_sentinel};
4712
168k
    }
4713
192k
    return ranges::subrange{forward_iterator{this, 0},
4714
192k
                            ranges::default_sentinel};
4715
361k
}
scn::v4::detail::basic_scan_buffer<char>::get()
Line
Count
Source
4708
174k
{
4709
174k
    if (is_contiguous()) {
4710
77.7k
        return ranges::subrange{forward_iterator{m_current_view, 0},
4711
77.7k
                                ranges::default_sentinel};
4712
77.7k
    }
4713
96.6k
    return ranges::subrange{forward_iterator{this, 0},
4714
96.6k
                            ranges::default_sentinel};
4715
174k
}
scn::v4::detail::basic_scan_buffer<wchar_t>::get()
Line
Count
Source
4708
187k
{
4709
187k
    if (is_contiguous()) {
4710
91.1k
        return ranges::subrange{forward_iterator{m_current_view, 0},
4711
91.1k
                                ranges::default_sentinel};
4712
91.1k
    }
4713
96.1k
    return ranges::subrange{forward_iterator{this, 0},
4714
96.1k
                            ranges::default_sentinel};
4715
187k
}
4716
4717
template <typename CharT>
4718
SCN_NODISCARD auto basic_scan_buffer<CharT>::get_common_range()
4719
    -> common_range_type
4720
{
4721
    auto r = get();
4722
    return ranges::subrange{common_forward_iterator{r.begin()},
4723
                            common_forward_iterator{r.end()}};
4724
}
4725
4726
static_assert(ranges::forward_range<scan_buffer::range_type>);
4727
4728
template <typename CharT>
4729
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4730
    using base = basic_scan_buffer<CharT>;
4731
4732
public:
4733
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4734
168k
        : base(typename base::contiguous_tag{}, sv)
4735
168k
    {
4736
168k
    }
scn::v4::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4734
77.7k
        : base(typename base::contiguous_tag{}, sv)
4735
77.7k
    {
4736
77.7k
    }
scn::v4::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4734
91.1k
        : base(typename base::contiguous_tag{}, sv)
4735
91.1k
    {
4736
91.1k
    }
4737
4738
    bool fill() override
4739
0
    {
4740
0
        SCN_EXPECT(false);
4741
0
        SCN_UNREACHABLE;
4742
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::fill()
4743
};
4744
4745
template <typename CharT>
4746
basic_scan_string_buffer(std::basic_string_view<CharT>)
4747
    -> basic_scan_string_buffer<CharT>;
4748
4749
template <typename CharT>
4750
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4751
    using base = basic_scan_buffer<CharT>;
4752
4753
protected:
4754
192k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4755
192k
    {
4756
192k
    }
scn::v4::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base()
Line
Count
Source
4754
96.6k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4755
96.6k
    {
4756
96.6k
    }
scn::v4::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base()
Line
Count
Source
4754
96.1k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4755
96.1k
    {
4756
96.1k
    }
4757
};
4758
4759
template <typename I, typename S>
4760
using less_than_compare =
4761
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4762
4763
template <typename Range>
4764
class basic_scan_forward_buffer_impl
4765
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4766
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4767
4768
    using _char_type = detail::char_t<Range>;
4769
    using base = basic_scan_forward_buffer_base<_char_type>;
4770
4771
public:
4772
    using char_type = _char_type;
4773
    using range_type = Range;
4774
    using iterator = ranges::iterator_t<const Range>;
4775
    using sentinel = ranges::sentinel_t<const Range>;
4776
4777
    template <
4778
        typename R,
4779
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4780
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4781
    basic_scan_forward_buffer_impl(R&& r)
4782
192k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4783
192k
          m_cursor(ranges::begin(*m_range))
4784
192k
    {
4785
192k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4782
96.6k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4783
96.6k
          m_cursor(ranges::begin(*m_range))
4784
96.6k
    {
4785
96.6k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4782
96.1k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4783
96.1k
          m_cursor(ranges::begin(*m_range))
4784
96.1k
    {
4785
96.1k
    }
4786
4787
    bool fill() override
4788
1.08M
    {
4789
1.08M
        if (m_cursor == ranges::end(*m_range)) {
4790
32.8k
            return false;
4791
32.8k
        }
4792
1.05M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4793
1.05M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4794
1.05M
        }
4795
1.05M
        if (!this->m_current_view.empty()) {
4796
866k
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4797
866k
                                          this->m_current_view.begin(),
4798
866k
                                          this->m_current_view.end());
4799
866k
        }
4800
1.05M
        m_latest = *m_cursor;
4801
1.05M
        ++m_cursor;
4802
1.05M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4803
1.05M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4804
1.05M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4805
1.05M
        }
4806
1.05M
        return true;
4807
1.08M
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill()
Line
Count
Source
4788
758k
    {
4789
758k
        if (m_cursor == ranges::end(*m_range)) {
4790
14.5k
            return false;
4791
14.5k
        }
4792
744k
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4793
744k
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4794
744k
        }
4795
744k
        if (!this->m_current_view.empty()) {
4796
650k
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4797
650k
                                          this->m_current_view.begin(),
4798
650k
                                          this->m_current_view.end());
4799
650k
        }
4800
744k
        m_latest = *m_cursor;
4801
744k
        ++m_cursor;
4802
744k
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4803
744k
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4804
744k
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4805
744k
        }
4806
744k
        return true;
4807
758k
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill()
Line
Count
Source
4788
325k
    {
4789
325k
        if (m_cursor == ranges::end(*m_range)) {
4790
18.2k
            return false;
4791
18.2k
        }
4792
307k
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4793
307k
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4794
307k
        }
4795
307k
        if (!this->m_current_view.empty()) {
4796
216k
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4797
216k
                                          this->m_current_view.begin(),
4798
216k
                                          this->m_current_view.end());
4799
216k
        }
4800
307k
        m_latest = *m_cursor;
4801
307k
        ++m_cursor;
4802
307k
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4803
307k
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4804
307k
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4805
307k
        }
4806
307k
        return true;
4807
325k
    }
4808
4809
private:
4810
    const Range* m_range;
4811
    iterator m_cursor;
4812
    char_type m_latest{};
4813
};
4814
4815
template <typename R>
4816
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4817
4818
struct default_file_tag {};
4819
struct gnu_file_tag {};
4820
struct bsd_file_tag {};
4821
struct musl_file_tag {};
4822
struct win32_file_tag {};
4823
4824
// Non-pretty workaround for MSVC silliness
4825
template <typename F, typename = void>
4826
inline constexpr bool is_gnu_file = false;
4827
template <typename F>
4828
inline constexpr bool
4829
    is_gnu_file<F,
4830
                std::void_t<decltype(SCN_DECLVAL(F)._IO_read_ptr),
4831
                            decltype(SCN_DECLVAL(F)._IO_read_end)>> = true;
4832
4833
template <typename F, typename = void>
4834
inline constexpr bool is_bsd_file = false;
4835
template <typename F>
4836
inline constexpr bool is_bsd_file<
4837
    F,
4838
    std::void_t<decltype(SCN_DECLVAL(F)._p), decltype(SCN_DECLVAL(F)._r)>> =
4839
    true;
4840
4841
template <typename F, typename = void>
4842
inline constexpr bool is_musl_file = false;
4843
template <typename F>
4844
inline constexpr bool is_musl_file<
4845
    F,
4846
    std::void_t<decltype(SCN_DECLVAL(F).rpos), decltype(SCN_DECLVAL(F).rend)>> =
4847
    true;
4848
4849
template <typename F>
4850
inline constexpr bool is_win32_file =
4851
    std::is_same_v<F, std::FILE> && SCN_WINDOWS && !SCN_MINGW;
4852
4853
constexpr auto get_file_tag()
4854
0
{
4855
0
    if constexpr (is_gnu_file<std::FILE>) {
4856
0
        return detail::tag_type<gnu_file_tag>{};
4857
0
    }
4858
0
    else if constexpr (is_bsd_file<std::FILE>) {
4859
0
        return detail::tag_type<bsd_file_tag>{};
4860
0
    }
4861
0
    else if constexpr (is_musl_file<std::FILE>) {
4862
0
        return detail::tag_type<musl_file_tag>{};
4863
0
    }
4864
0
    else if constexpr (is_win32_file<std::FILE>) {
4865
0
        return detail::tag_type<win32_file_tag>{};
4866
0
    }
4867
0
    else {
4868
0
        return detail::tag_type<default_file_tag>{};
4869
0
    }
4870
0
}
4871
4872
template <typename File>
4873
struct stdio_file_interface_base {
4874
0
    stdio_file_interface_base(File* f) : file(f) {}
4875
    ~stdio_file_interface_base() = default;
4876
4877
    stdio_file_interface_base(const stdio_file_interface_base&) = delete;
4878
    stdio_file_interface_base& operator=(const stdio_file_interface_base&) =
4879
        delete;
4880
4881
    stdio_file_interface_base(stdio_file_interface_base&& other)
4882
0
        : file(other.file)
4883
0
    {
4884
0
        other.file = nullptr;
4885
0
    }
4886
    stdio_file_interface_base& operator=(stdio_file_interface_base&& other)
4887
    {
4888
        file = other.file;
4889
        other.file = nullptr;
4890
        return *this;
4891
    }
4892
4893
    File* file;
4894
};
4895
4896
template <typename File, typename Tag>
4897
struct stdio_file_interface_impl;
4898
4899
template <typename File>
4900
struct stdio_file_interface_impl<File, default_file_tag>
4901
    : stdio_file_interface_base<File> {
4902
    void lock() {}
4903
    void unlock() {}
4904
4905
    bool has_buffering() const
4906
    {
4907
        return false;
4908
    }
4909
4910
    std::string_view buffer() const
4911
    {
4912
        return {};
4913
    }
4914
    void unsafe_advance_n(std::ptrdiff_t)
4915
    {
4916
        SCN_EXPECT(false);
4917
        SCN_UNREACHABLE;
4918
    }
4919
    void fill_buffer()
4920
    {
4921
        SCN_EXPECT(false);
4922
        SCN_UNREACHABLE;
4923
    }
4924
4925
    std::optional<char> read_one()
4926
    {
4927
        auto res = std::fgetc(this->file);
4928
        if (res == EOF) {
4929
            return std::nullopt;
4930
        }
4931
        return static_cast<char>(res);
4932
    }
4933
4934
    void prepare_putback() {}
4935
    void finalize_putback() {}
4936
4937
    bool putback(char ch)
4938
    {
4939
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4940
    }
4941
};
4942
4943
template <typename File>
4944
struct posix_stdio_file_interface : stdio_file_interface_base<File> {
4945
    void lock()
4946
0
    {
4947
0
        flockfile(this->file);
4948
0
    }
4949
    void unlock()
4950
0
    {
4951
0
        funlockfile(this->file);
4952
0
    }
4953
4954
    static bool has_buffering()
4955
0
    {
4956
0
        return true;
4957
0
    }
4958
4959
    std::optional<char> read_one()
4960
0
    {
4961
0
        auto res = getc_unlocked(this->file);
4962
0
        if (res == EOF) {
4963
0
            return std::nullopt;
4964
0
        }
4965
0
        return static_cast<char>(res);
4966
0
    }
4967
4968
    void prepare_putback()
4969
0
    {
4970
0
        unlock();
4971
0
    }
4972
    void finalize_putback()
4973
0
    {
4974
0
        lock();
4975
0
    }
4976
4977
    bool putback(char ch)
4978
0
    {
4979
0
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4980
0
    }
4981
};
4982
4983
template <typename File>
4984
struct stdio_file_interface_impl<File, gnu_file_tag>
4985
    : posix_stdio_file_interface<File> {
4986
    std::string_view buffer() const
4987
0
    {
4988
0
        return make_string_view_from_pointers(this->file->_IO_read_ptr,
4989
0
                                              this->file->_IO_read_end);
4990
0
    }
4991
    void unsafe_advance_n(std::ptrdiff_t n)
4992
0
    {
4993
0
        SCN_EXPECT(this->file->_IO_read_ptr != nullptr);
4994
0
        SCN_EXPECT(this->file->_IO_read_end - this->file->_IO_read_ptr >= n);
4995
0
        this->file->_IO_read_ptr += n;
4996
0
    }
4997
    void fill_buffer()
4998
0
    {
4999
0
        if (__uflow(this->file) != EOF) {
5000
0
            --this->file->_IO_read_ptr;
5001
0
        }
5002
0
    }
5003
};
5004
5005
template <typename File>
5006
struct stdio_file_interface_impl<File, bsd_file_tag>
5007
    : posix_stdio_file_interface<File> {
5008
    std::string_view buffer() const
5009
    {
5010
        return {reinterpret_cast<const char*>(this->file->_p),
5011
                static_cast<std::size_t>(this->file->_r)};
5012
    }
5013
    void unsafe_advance_n(std::ptrdiff_t n)
5014
    {
5015
        SCN_EXPECT(this->file->_p != nullptr);
5016
        SCN_EXPECT(this->file->_r >= n);
5017
        this->file->_p += n;
5018
        this->file->_r -= n;
5019
    }
5020
    void fill_buffer()
5021
    {
5022
        if (__srget(this->file) != EOF) {
5023
            --this->file->_p;
5024
            ++this->file->_r;
5025
        }
5026
    }
5027
};
5028
5029
template <typename File>
5030
struct stdio_file_interface_impl<File, musl_file_tag>
5031
    : posix_stdio_file_interface<File> {
5032
    std::string_view buffer() const
5033
    {
5034
        return make_string_view_from_pointers(
5035
            reinterpret_cast<const char*>(this->file->rpos),
5036
            reinterpret_cast<const char*>(this->file->rend));
5037
    }
5038
    void unsafe_advance_n(std::ptrdiff_t n)
5039
    {
5040
        SCN_EXPECT(this->file->rpos != nullptr);
5041
        SCN_EXPECT(this->file->rend - this->file->rpos >= n);
5042
        this->file->rpos += n;
5043
    }
5044
    void fill_buffer()
5045
    {
5046
        if (__uflow(this->file) != EOF) {
5047
            --this->file->rpos;
5048
        }
5049
    }
5050
};
5051
5052
template <typename File>
5053
struct stdio_file_interface_impl<File, win32_file_tag>
5054
    : stdio_file_interface_base<File> {
5055
    void lock()
5056
    {
5057
        _lock_file(this->file);
5058
    }
5059
    void unlock()
5060
    {
5061
        _unlock_file(this->file);
5062
    }
5063
5064
    static bool has_buffering()
5065
    {
5066
        return false;
5067
    }
5068
5069
    std::string_view buffer() const
5070
    {
5071
        return {};
5072
    }
5073
    void unsafe_advance_n(std::ptrdiff_t n)
5074
    {
5075
        SCN_EXPECT(false);
5076
        SCN_UNREACHABLE;
5077
    }
5078
    void fill_buffer()
5079
    {
5080
        SCN_EXPECT(false);
5081
        SCN_UNREACHABLE;
5082
    }
5083
5084
    std::optional<char> read_one()
5085
    {
5086
        auto res = _fgetc_nolock(this->file);
5087
        if (res == EOF) {
5088
            return std::nullopt;
5089
        }
5090
        return static_cast<char>(res);
5091
    }
5092
5093
    void prepare_putback() {}
5094
    void finalize_putback() {}
5095
5096
    bool putback(char ch)
5097
    {
5098
        return _ungetc_nolock(static_cast<unsigned char>(ch), this->file) !=
5099
               EOF;
5100
    }
5101
};
5102
5103
using stdio_file_interface =
5104
    stdio_file_interface_impl<std::FILE, decltype(get_file_tag())::type>;
5105
5106
template <typename FileInterface>
5107
class basic_scan_file_buffer : public basic_scan_buffer<char> {
5108
    using base = basic_scan_buffer<char>;
5109
5110
public:
5111
    explicit basic_scan_file_buffer(FileInterface file);
5112
    ~basic_scan_file_buffer();
5113
5114
    bool fill() override;
5115
5116
    bool sync(std::ptrdiff_t position) override;
5117
5118
private:
5119
    FileInterface m_file;
5120
    std::optional<char_type> m_latest{std::nullopt};
5121
};
5122
5123
struct scan_file_buffer : public basic_scan_file_buffer<stdio_file_interface> {
5124
    explicit scan_file_buffer(std::FILE* file)
5125
0
        : basic_scan_file_buffer(stdio_file_interface{file})
5126
0
    {
5127
0
    }
5128
};
5129
5130
extern template basic_scan_file_buffer<
5131
    stdio_file_interface>::basic_scan_file_buffer(stdio_file_interface);
5132
extern template basic_scan_file_buffer<
5133
    stdio_file_interface>::~basic_scan_file_buffer();
5134
extern template bool basic_scan_file_buffer<stdio_file_interface>::fill();
5135
extern template bool basic_scan_file_buffer<stdio_file_interface>::sync(
5136
    std::ptrdiff_t);
5137
5138
template <typename CharT>
5139
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
5140
    using base = basic_scan_buffer<CharT>;
5141
5142
public:
5143
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
5144
0
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
5145
0
          m_other(&other),
5146
0
          m_starting_pos(starting_pos)
5147
0
    {
5148
0
        this->m_current_view = other.get_segment_starting_at(starting_pos);
5149
0
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
5150
0
                                    this->m_current_view.end();
5151
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<char>&, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>&, long)
5152
5153
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
5154
0
        : base(true, view), m_other(nullptr)
5155
0
    {
5156
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
5157
5158
    bool fill() override
5159
0
    {
5160
0
        if (!m_other) {
5161
0
            return false;
5162
0
        }
5163
0
        SCN_EXPECT(m_starting_pos >= 0);
5164
5165
0
        if (m_fill_needs_to_propagate) {
5166
0
            auto ret = m_other->fill();
5167
0
            this->m_current_view = m_other->current_view();
5168
0
            this->m_putback_buffer =
5169
0
                m_other->putback_buffer().substr(m_starting_pos);
5170
0
            return ret;
5171
0
        }
5172
5173
0
        m_fill_needs_to_propagate = true;
5174
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
5175
0
        this->m_current_view = m_other->current_view();
5176
0
        return true;
5177
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::fill()
5178
5179
private:
5180
    base* m_other;
5181
    std::ptrdiff_t m_starting_pos{-1};
5182
    bool m_fill_needs_to_propagate{false};
5183
};
5184
5185
template <typename CharT>
5186
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
5187
    -> basic_scan_ref_buffer<CharT>;
5188
5189
template <typename CharT>
5190
basic_scan_ref_buffer(std::basic_string_view<CharT>)
5191
    -> basic_scan_ref_buffer<CharT>;
5192
5193
template <typename Range>
5194
auto make_string_scan_buffer(const Range& range)
5195
{
5196
    return basic_scan_string_buffer(
5197
        std::basic_string_view{ranges::data(range), ranges::size(range)});
5198
}
5199
5200
template <typename Range>
5201
auto make_forward_scan_buffer(const Range& range)
5202
192k
{
5203
192k
    return basic_scan_forward_buffer_impl(range);
5204
192k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5202
96.6k
{
5203
96.6k
    return basic_scan_forward_buffer_impl(range);
5204
96.6k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5202
96.1k
{
5203
96.1k
    return basic_scan_forward_buffer_impl(range);
5204
96.1k
}
5205
5206
inline auto make_file_scan_buffer(std::FILE* file)
5207
0
{
5208
0
    return scan_file_buffer(file);
5209
0
}
5210
}  // namespace detail
5211
5212
/////////////////////////////////////////////////////////////////
5213
// make_scan_buffer
5214
/////////////////////////////////////////////////////////////////
5215
5216
/**
5217
 * \defgroup scannable Scannable sources
5218
 *
5219
 * \brief Description of the `scannable_range` and `scannable_source`
5220
 * concepts.
5221
 *
5222
 * A range is considered scannable, if it models at least `forward_range`,
5223
 * and its character type is correct (its value type is the same as the one
5224
 * of the format string).
5225
 * If the range additionally models `contiguous_range` and `sized_range`,
5226
 * additional optimizations are enabled.
5227
 *
5228
 * \code{.cpp}
5229
 * // Exposition only
5230
 * template <typename Range, typename CharT>
5231
 * concept scannable_range =
5232
 *     ranges::forward_range<Range> &&
5233
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
5234
 * \endcode
5235
 *
5236
 * Additionally, files (`std::FILE*`) can be scanned from.
5237
 * Files are always considered to be narrow (`char`-oriented).
5238
 * Thus, the entire concept is:
5239
 *
5240
 * \code{.cpp}
5241
 * // Exposition only
5242
 * template <typename Source, typename CharT>
5243
 * concept scannable_source =
5244
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
5245
 *    std::same_as<CharT, char>) ||
5246
 *   scannable_range<Source, CharT>;
5247
 * \endcode
5248
 */
5249
5250
/**
5251
 * Tag type to indicate an invalid range given to `scn::scan`
5252
 *
5253
 * \ingroup scannable
5254
 */
5255
struct invalid_input_range {};
5256
5257
struct invalid_char_type : invalid_input_range {};
5258
struct custom_char_traits : invalid_input_range {};
5259
struct file_marker_found : invalid_input_range {};
5260
struct insufficient_range : invalid_input_range {};
5261
5262
namespace detail {
5263
template <typename CharT>
5264
inline constexpr bool is_valid_char_type =
5265
    std::is_same_v<std::remove_const_t<CharT>, char> ||
5266
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
5267
5268
namespace _make_scan_buffer {
5269
// buffer -> ref_buffer
5270
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
5271
    -> basic_scan_ref_buffer<char>
5272
0
{
5273
0
    if (!r.begin().stores_parent()) {
5274
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5275
0
    }
5276
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5277
0
}
5278
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
5279
    -> basic_scan_ref_buffer<wchar_t>
5280
0
{
5281
0
    if (!r.begin().stores_parent()) {
5282
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5283
0
    }
5284
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5285
0
}
5286
5287
// string_view -> string_buffer
5288
template <typename CharT>
5289
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
5290
{
5291
    if constexpr (is_valid_char_type<CharT>) {
5292
        return r;
5293
        // return make_string_scan_buffer(r);
5294
    }
5295
    else {
5296
        return invalid_char_type{};
5297
    }
5298
}
5299
5300
// string& -> string_buffer
5301
template <typename CharT, typename Traits, typename Allocator>
5302
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
5303
          priority_tag<3>) noexcept
5304
0
{
5305
    if constexpr (!is_valid_char_type<CharT>) {
5306
        return invalid_char_type{};
5307
    }
5308
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
5309
        return custom_char_traits{};
5310
    }
5311
0
    else {
5312
0
        return std::basic_string_view<CharT>{r};
5313
0
    }
5314
0
}
5315
5316
// String literals:
5317
// CharT(&)[] -> string_buffer
5318
template <typename CharT,
5319
          std::size_t N,
5320
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
5321
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
5322
{
5323
    return std::basic_string_view<CharT>{r, N - 1};
5324
}
5325
5326
// FILE* -> file_buffer
5327
inline auto impl(std::FILE* file, priority_tag<3>)
5328
0
{
5329
0
    return make_file_scan_buffer(file);
5330
0
}
5331
5332
// contiguous + sized -> string_buffer
5333
template <typename Range,
5334
          std::enable_if_t<ranges::contiguous_range<Range> &&
5335
                           ranges::sized_range<Range>>* = nullptr>
5336
auto impl(const Range& r, priority_tag<2>)
5337
176k
{
5338
176k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5339
176k
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5340
    }
5341
    else {
5342
        return invalid_char_type{};
5343
    }
5344
176k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5337
80.2k
{
5338
80.2k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5339
80.2k
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5340
    }
5341
    else {
5342
        return invalid_char_type{};
5343
    }
5344
80.2k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5337
96.1k
{
5338
96.1k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5339
96.1k
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5340
    }
5341
    else {
5342
        return invalid_char_type{};
5343
    }
5344
96.1k
}
5345
5346
// !contiguous + random-access + iterator can be made into a ptr
5347
// for MSVC debug iterators
5348
//   -> string_buffer
5349
template <typename Range,
5350
          std::enable_if_t<!ranges::contiguous_range<Range> &&
5351
                           ranges::random_access_range<Range> &&
5352
                           can_make_address_from_iterator<
5353
                               ranges::iterator_t<Range>>>* = nullptr>
5354
auto impl(const Range& r, priority_tag<1>)
5355
{
5356
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5357
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
5358
                                              to_address(ranges::end(r)));
5359
    }
5360
    else {
5361
        return invalid_char_type{};
5362
    }
5363
}
5364
5365
// forward -> forward_buffer<R>
5366
template <typename Range>
5367
auto impl(const Range& r, priority_tag<0>)
5368
192k
{
5369
    if constexpr (std::is_same_v<Range, file_marker>) {
5370
        return file_marker_found{};
5371
    }
5372
    else if constexpr (!ranges::forward_range<Range>) {
5373
        if constexpr (ranges::range<Range>) {
5374
            return insufficient_range{};
5375
        }
5376
        else {
5377
            return invalid_input_range{};
5378
        }
5379
    }
5380
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5381
        return invalid_char_type{};
5382
    }
5383
192k
    else {
5384
192k
        return make_forward_scan_buffer(r);
5385
192k
    }
5386
192k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5368
96.6k
{
5369
    if constexpr (std::is_same_v<Range, file_marker>) {
5370
        return file_marker_found{};
5371
    }
5372
    else if constexpr (!ranges::forward_range<Range>) {
5373
        if constexpr (ranges::range<Range>) {
5374
            return insufficient_range{};
5375
        }
5376
        else {
5377
            return invalid_input_range{};
5378
        }
5379
    }
5380
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5381
        return invalid_char_type{};
5382
    }
5383
96.6k
    else {
5384
96.6k
        return make_forward_scan_buffer(r);
5385
96.6k
    }
5386
96.6k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5368
96.1k
{
5369
    if constexpr (std::is_same_v<Range, file_marker>) {
5370
        return file_marker_found{};
5371
    }
5372
    else if constexpr (!ranges::forward_range<Range>) {
5373
        if constexpr (ranges::range<Range>) {
5374
            return insufficient_range{};
5375
        }
5376
        else {
5377
            return invalid_input_range{};
5378
        }
5379
    }
5380
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5381
        return invalid_char_type{};
5382
    }
5383
96.1k
    else {
5384
96.1k
        return make_forward_scan_buffer(r);
5385
96.1k
    }
5386
96.1k
}
5387
}  // namespace _make_scan_buffer
5388
5389
template <typename Range>
5390
inline constexpr bool is_scannable_range =
5391
    !std::is_base_of_v<invalid_input_range,
5392
                       decltype(_make_scan_buffer::impl(
5393
                                    SCN_DECLVAL(const Range&)),
5394
                                priority_tag<4>{})>;
5395
5396
template <typename Range>
5397
auto make_scan_buffer(const Range& range)
5398
369k
{
5399
369k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
369k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
369k
                  "\n"
5403
369k
                  "Unsupported range type given as input to a scanning "
5404
369k
                  "function.\n"
5405
369k
                  "A range needs to have a character type (value type) "
5406
369k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
369k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
369k
                  "to be included.\n"
5409
369k
                  "See the scnlib documentation for more details.");
5410
369k
    static_assert(
5411
369k
        !std::is_same_v<T, custom_char_traits>,
5412
369k
        "\n"
5413
369k
        "Unsupported range type given as input to a scanning "
5414
369k
        "function.\n"
5415
369k
        "String types (std::basic_string, and std::basic_string_view) "
5416
369k
        "need to use std::char_traits. Strings with custom Traits are "
5417
369k
        "not supported.");
5418
369k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
369k
                  "\n"
5420
369k
                  "Unsupported range type given as input to a scanning "
5421
369k
                  "function.\n"
5422
369k
                  "file_marker_found cannot be used as an "
5423
369k
                  "source range type to scn::scan.\n"
5424
369k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
369k
                  "and do not provide an explicit source range, "
5426
369k
                  "or use scn::scan with a FILE* directly.");
5427
369k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
369k
                  "\n"
5429
369k
                  "Unsupported range type given as input to a scanning "
5430
369k
                  "function.\n"
5431
369k
                  "In order to be scannable, a range needs to satisfy "
5432
369k
                  "`forward_range`. `input_range` is not sufficient.");
5433
369k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
369k
                  "\n"
5435
369k
                  "Unsupported range type given as input to a scanning "
5436
369k
                  "function.\n"
5437
369k
                  "A range needs to model forward_range and have a valid "
5438
369k
                  "character type (char or wchar_t) to be scannable.\n"
5439
369k
                  "Examples of scannable ranges are std::string, "
5440
369k
                  "std::string_view, "
5441
369k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
369k
                  "See the scnlib documentation for more details.");
5443
5444
369k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
369k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
5398
80.2k
{
5399
80.2k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
80.2k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
80.2k
                  "\n"
5403
80.2k
                  "Unsupported range type given as input to a scanning "
5404
80.2k
                  "function.\n"
5405
80.2k
                  "A range needs to have a character type (value type) "
5406
80.2k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
80.2k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
80.2k
                  "to be included.\n"
5409
80.2k
                  "See the scnlib documentation for more details.");
5410
80.2k
    static_assert(
5411
80.2k
        !std::is_same_v<T, custom_char_traits>,
5412
80.2k
        "\n"
5413
80.2k
        "Unsupported range type given as input to a scanning "
5414
80.2k
        "function.\n"
5415
80.2k
        "String types (std::basic_string, and std::basic_string_view) "
5416
80.2k
        "need to use std::char_traits. Strings with custom Traits are "
5417
80.2k
        "not supported.");
5418
80.2k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
80.2k
                  "\n"
5420
80.2k
                  "Unsupported range type given as input to a scanning "
5421
80.2k
                  "function.\n"
5422
80.2k
                  "file_marker_found cannot be used as an "
5423
80.2k
                  "source range type to scn::scan.\n"
5424
80.2k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
80.2k
                  "and do not provide an explicit source range, "
5426
80.2k
                  "or use scn::scan with a FILE* directly.");
5427
80.2k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
80.2k
                  "\n"
5429
80.2k
                  "Unsupported range type given as input to a scanning "
5430
80.2k
                  "function.\n"
5431
80.2k
                  "In order to be scannable, a range needs to satisfy "
5432
80.2k
                  "`forward_range`. `input_range` is not sufficient.");
5433
80.2k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
80.2k
                  "\n"
5435
80.2k
                  "Unsupported range type given as input to a scanning "
5436
80.2k
                  "function.\n"
5437
80.2k
                  "A range needs to model forward_range and have a valid "
5438
80.2k
                  "character type (char or wchar_t) to be scannable.\n"
5439
80.2k
                  "Examples of scannable ranges are std::string, "
5440
80.2k
                  "std::string_view, "
5441
80.2k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
80.2k
                  "See the scnlib documentation for more details.");
5443
5444
80.2k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
80.2k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5398
96.6k
{
5399
96.6k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
96.6k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
96.6k
                  "\n"
5403
96.6k
                  "Unsupported range type given as input to a scanning "
5404
96.6k
                  "function.\n"
5405
96.6k
                  "A range needs to have a character type (value type) "
5406
96.6k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
96.6k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
96.6k
                  "to be included.\n"
5409
96.6k
                  "See the scnlib documentation for more details.");
5410
96.6k
    static_assert(
5411
96.6k
        !std::is_same_v<T, custom_char_traits>,
5412
96.6k
        "\n"
5413
96.6k
        "Unsupported range type given as input to a scanning "
5414
96.6k
        "function.\n"
5415
96.6k
        "String types (std::basic_string, and std::basic_string_view) "
5416
96.6k
        "need to use std::char_traits. Strings with custom Traits are "
5417
96.6k
        "not supported.");
5418
96.6k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
96.6k
                  "\n"
5420
96.6k
                  "Unsupported range type given as input to a scanning "
5421
96.6k
                  "function.\n"
5422
96.6k
                  "file_marker_found cannot be used as an "
5423
96.6k
                  "source range type to scn::scan.\n"
5424
96.6k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
96.6k
                  "and do not provide an explicit source range, "
5426
96.6k
                  "or use scn::scan with a FILE* directly.");
5427
96.6k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
96.6k
                  "\n"
5429
96.6k
                  "Unsupported range type given as input to a scanning "
5430
96.6k
                  "function.\n"
5431
96.6k
                  "In order to be scannable, a range needs to satisfy "
5432
96.6k
                  "`forward_range`. `input_range` is not sufficient.");
5433
96.6k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
96.6k
                  "\n"
5435
96.6k
                  "Unsupported range type given as input to a scanning "
5436
96.6k
                  "function.\n"
5437
96.6k
                  "A range needs to model forward_range and have a valid "
5438
96.6k
                  "character type (char or wchar_t) to be scannable.\n"
5439
96.6k
                  "Examples of scannable ranges are std::string, "
5440
96.6k
                  "std::string_view, "
5441
96.6k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
96.6k
                  "See the scnlib documentation for more details.");
5443
5444
96.6k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
96.6k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
5398
96.1k
{
5399
96.1k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
96.1k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
96.1k
                  "\n"
5403
96.1k
                  "Unsupported range type given as input to a scanning "
5404
96.1k
                  "function.\n"
5405
96.1k
                  "A range needs to have a character type (value type) "
5406
96.1k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
96.1k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
96.1k
                  "to be included.\n"
5409
96.1k
                  "See the scnlib documentation for more details.");
5410
96.1k
    static_assert(
5411
96.1k
        !std::is_same_v<T, custom_char_traits>,
5412
96.1k
        "\n"
5413
96.1k
        "Unsupported range type given as input to a scanning "
5414
96.1k
        "function.\n"
5415
96.1k
        "String types (std::basic_string, and std::basic_string_view) "
5416
96.1k
        "need to use std::char_traits. Strings with custom Traits are "
5417
96.1k
        "not supported.");
5418
96.1k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
96.1k
                  "\n"
5420
96.1k
                  "Unsupported range type given as input to a scanning "
5421
96.1k
                  "function.\n"
5422
96.1k
                  "file_marker_found cannot be used as an "
5423
96.1k
                  "source range type to scn::scan.\n"
5424
96.1k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
96.1k
                  "and do not provide an explicit source range, "
5426
96.1k
                  "or use scn::scan with a FILE* directly.");
5427
96.1k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
96.1k
                  "\n"
5429
96.1k
                  "Unsupported range type given as input to a scanning "
5430
96.1k
                  "function.\n"
5431
96.1k
                  "In order to be scannable, a range needs to satisfy "
5432
96.1k
                  "`forward_range`. `input_range` is not sufficient.");
5433
96.1k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
96.1k
                  "\n"
5435
96.1k
                  "Unsupported range type given as input to a scanning "
5436
96.1k
                  "function.\n"
5437
96.1k
                  "A range needs to model forward_range and have a valid "
5438
96.1k
                  "character type (char or wchar_t) to be scannable.\n"
5439
96.1k
                  "Examples of scannable ranges are std::string, "
5440
96.1k
                  "std::string_view, "
5441
96.1k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
96.1k
                  "See the scnlib documentation for more details.");
5443
5444
96.1k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
96.1k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5398
96.1k
{
5399
96.1k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
96.1k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
96.1k
                  "\n"
5403
96.1k
                  "Unsupported range type given as input to a scanning "
5404
96.1k
                  "function.\n"
5405
96.1k
                  "A range needs to have a character type (value type) "
5406
96.1k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
96.1k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
96.1k
                  "to be included.\n"
5409
96.1k
                  "See the scnlib documentation for more details.");
5410
96.1k
    static_assert(
5411
96.1k
        !std::is_same_v<T, custom_char_traits>,
5412
96.1k
        "\n"
5413
96.1k
        "Unsupported range type given as input to a scanning "
5414
96.1k
        "function.\n"
5415
96.1k
        "String types (std::basic_string, and std::basic_string_view) "
5416
96.1k
        "need to use std::char_traits. Strings with custom Traits are "
5417
96.1k
        "not supported.");
5418
96.1k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
96.1k
                  "\n"
5420
96.1k
                  "Unsupported range type given as input to a scanning "
5421
96.1k
                  "function.\n"
5422
96.1k
                  "file_marker_found cannot be used as an "
5423
96.1k
                  "source range type to scn::scan.\n"
5424
96.1k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
96.1k
                  "and do not provide an explicit source range, "
5426
96.1k
                  "or use scn::scan with a FILE* directly.");
5427
96.1k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
96.1k
                  "\n"
5429
96.1k
                  "Unsupported range type given as input to a scanning "
5430
96.1k
                  "function.\n"
5431
96.1k
                  "In order to be scannable, a range needs to satisfy "
5432
96.1k
                  "`forward_range`. `input_range` is not sufficient.");
5433
96.1k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
96.1k
                  "\n"
5435
96.1k
                  "Unsupported range type given as input to a scanning "
5436
96.1k
                  "function.\n"
5437
96.1k
                  "A range needs to model forward_range and have a valid "
5438
96.1k
                  "character type (char or wchar_t) to be scannable.\n"
5439
96.1k
                  "Examples of scannable ranges are std::string, "
5440
96.1k
                  "std::string_view, "
5441
96.1k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
96.1k
                  "See the scnlib documentation for more details.");
5443
5444
96.1k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
96.1k
}
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
5446
5447
template <
5448
    typename Range,
5449
    std::enable_if_t<
5450
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
5451
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
5452
auto make_scan_buffer(Range&&) = delete;
5453
}  // namespace detail
5454
5455
/////////////////////////////////////////////////////////////////
5456
// Argument type erasure
5457
/////////////////////////////////////////////////////////////////
5458
5459
namespace detail {
5460
enum class arg_type : unsigned char {
5461
    none_type,
5462
    schar_type,
5463
    short_type,
5464
    int_type,
5465
    long_type,
5466
    llong_type,
5467
    int128_type,
5468
    uchar_type,
5469
    ushort_type,
5470
    uint_type,
5471
    ulong_type,
5472
    ullong_type,
5473
    uint128_type,
5474
    bool_type,
5475
    narrow_character_type,
5476
    wide_character_type,
5477
    code_point_type,
5478
    pointer_type,
5479
    float_type,
5480
    double_type,
5481
    ldouble_type,
5482
    float16_type,
5483
    float32_type,
5484
    float64_type,
5485
    float128_type,
5486
    bfloat16_type,
5487
    // Only a single string_view_type,
5488
    // no separate narrow/wide versions,
5489
    // because only one of them is valid for each CharT
5490
    string_view_type,
5491
    narrow_string_type,
5492
    wide_string_type,
5493
    custom_type,
5494
    last_type = custom_type
5495
};
5496
5497
template <typename>
5498
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
5499
5500
template <typename CharT>
5501
inline constexpr bool is_type_disabled<basic_regex_matches<CharT>> =
5502
    SCN_DISABLE_REGEX;
5503
5504
template <typename T, typename CharT>
5505
struct arg_type_constant
5506
    : std::integral_constant<arg_type, arg_type::custom_type> {
5507
    using type = T;
5508
};
5509
5510
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
5511
    template <typename CharT>                             \
5512
    struct arg_type_constant<Type, CharT>                 \
5513
        : std::integral_constant<arg_type, arg_type::C> { \
5514
        using type = Type;                                \
5515
    };                                                    \
5516
    template <>                                           \
5517
    inline constexpr bool is_type_disabled<Type> = Disabled
5518
5519
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
5520
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
5521
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
5522
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
5523
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
5524
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
5525
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
5526
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
5527
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
5528
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
5529
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
5530
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
5531
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
5532
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
5533
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5534
SCN_TYPE_CONSTANT(const void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5535
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
5536
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
5537
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
5538
SCN_TYPE_CONSTANT(std::string_view,
5539
                  string_view_type,
5540
                  SCN_DISABLE_TYPE_STRING_VIEW);
5541
SCN_TYPE_CONSTANT(std::wstring_view,
5542
                  string_view_type,
5543
                  SCN_DISABLE_TYPE_STRING_VIEW);
5544
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
5545
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
5546
5547
#if SCN_HAS_INT128
5548
SCN_TYPE_CONSTANT(int128, int128_type, SCN_DISABLE_TYPE_INT128);
5549
SCN_TYPE_CONSTANT(uint128, uint128_type, SCN_DISABLE_TYPE_UINT128);
5550
#endif
5551
5552
#if SCN_HAS_STD_F16
5553
SCN_TYPE_CONSTANT(std::float16_t, float16_type, SCN_DISABLE_TYPE_FLOAT16);
5554
#endif
5555
#if SCN_HAS_STD_F32
5556
SCN_TYPE_CONSTANT(std::float32_t, float32_type, SCN_DISABLE_TYPE_FLOAT32);
5557
#endif
5558
#if SCN_HAS_STD_F64
5559
SCN_TYPE_CONSTANT(std::float64_t, float64_type, SCN_DISABLE_TYPE_FLOAT64);
5560
#endif
5561
#if SCN_HAS_STD_F128
5562
SCN_TYPE_CONSTANT(std::float128_t, float128_type, SCN_DISABLE_TYPE_FLOAT128);
5563
#endif
5564
#if SCN_HAS_STD_BF16
5565
SCN_TYPE_CONSTANT(std::bfloat16_t, bfloat16_type, SCN_DISABLE_TYPE_BFLOAT16);
5566
#endif
5567
5568
#undef SCN_TYPE_CONSTANT
5569
5570
struct custom_value_type {
5571
    void* value;
5572
    auto (*scan)(void* arg, void* pctx, void* ctx) -> scan_expected<void>;
5573
};
5574
5575
struct unscannable {};
5576
struct unscannable_char : unscannable {};
5577
struct unscannable_const : unscannable {};
5578
struct unscannable_disabled : unscannable {
5579
    unscannable_disabled() = default;
5580
5581
    template <typename T>
5582
    constexpr unscannable_disabled(T&&)
5583
    {
5584
    }
5585
};
5586
5587
struct needs_context_tag {};
5588
5589
template <typename Context>
5590
struct context_tag {
5591
    using type = Context;
5592
};
5593
5594
template <typename T, typename Context>
5595
struct custom_wrapper {
5596
    using context_type = Context;
5597
    T& val;
5598
};
5599
5600
template <typename T, typename Scanner, typename ParseCtx>
5601
scan_expected<void> parse_custom_arg(T& arg, Scanner& s, ParseCtx& pctx)
5602
369k
{
5603
369k
#if SCN_HAS_EXCEPTIONS
5604
369k
    auto fmt_it = pctx.begin();
5605
369k
    try {
5606
369k
        fmt_it = s.parse(pctx);
5607
369k
    }
5608
369k
    catch (const detail::scan_format_string_error_base& ex) {
5609
        // scan_error takes a const char*.
5610
        // scan_format_string_error (or, actually, std::runtime_error)
5611
        // stores a reference-counted string,
5612
        // that will go out of scope here.
5613
        // We need to provide a const char* that will stay in scope.
5614
        // If scan_format_string_error was thrown with a string literal,
5615
        // use that, otherwise refer to a thread_local std::string
5616
0
        if (const char* m = get_internal_literal_msg(ex)) {
5617
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5618
0
        }
5619
0
        thread_local std::string err_msg{};
5620
0
        err_msg = ex.what();
5621
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5622
0
                                     err_msg.c_str());
5623
0
    }
5624
#else
5625
    auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
369k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5628
15.0k
        return e;
5629
15.0k
    }
5630
354k
    pctx.advance_to(fmt_it);
5631
354k
    return {};
5632
369k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<tm, scn::v4::scanner<tm, char, void>, scn::v4::basic_scan_parse_context<char> >(tm&, scn::v4::scanner<tm, char, void>&, scn::v4::basic_scan_parse_context<char>&)
Line
Count
Source
5602
58.9k
{
5603
58.9k
#if SCN_HAS_EXCEPTIONS
5604
58.9k
    auto fmt_it = pctx.begin();
5605
58.9k
    try {
5606
58.9k
        fmt_it = s.parse(pctx);
5607
58.9k
    }
5608
58.9k
    catch (const detail::scan_format_string_error_base& ex) {
5609
        // scan_error takes a const char*.
5610
        // scan_format_string_error (or, actually, std::runtime_error)
5611
        // stores a reference-counted string,
5612
        // that will go out of scope here.
5613
        // We need to provide a const char* that will stay in scope.
5614
        // If scan_format_string_error was thrown with a string literal,
5615
        // use that, otherwise refer to a thread_local std::string
5616
0
        if (const char* m = get_internal_literal_msg(ex)) {
5617
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5618
0
        }
5619
0
        thread_local std::string err_msg{};
5620
0
        err_msg = ex.what();
5621
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5622
0
                                     err_msg.c_str());
5623
0
    }
5624
#else
5625
    auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
58.9k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5628
1.66k
        return e;
5629
1.66k
    }
5630
57.2k
    pctx.advance_to(fmt_it);
5631
57.2k
    return {};
5632
58.9k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<scn::v4::tm_with_tz, scn::v4::scanner<scn::v4::tm_with_tz, char, void>, scn::v4::basic_scan_parse_context<char> >(scn::v4::tm_with_tz&, scn::v4::scanner<scn::v4::tm_with_tz, char, void>&, scn::v4::basic_scan_parse_context<char>&)
Line
Count
Source
5602
58.9k
{
5603
58.9k
#if SCN_HAS_EXCEPTIONS
5604
58.9k
    auto fmt_it = pctx.begin();
5605
58.9k
    try {
5606
58.9k
        fmt_it = s.parse(pctx);
5607
58.9k
    }
5608
58.9k
    catch (const detail::scan_format_string_error_base& ex) {
5609
        // scan_error takes a const char*.
5610
        // scan_format_string_error (or, actually, std::runtime_error)
5611
        // stores a reference-counted string,
5612
        // that will go out of scope here.
5613
        // We need to provide a const char* that will stay in scope.
5614
        // If scan_format_string_error was thrown with a string literal,
5615
        // use that, otherwise refer to a thread_local std::string
5616
0
        if (const char* m = get_internal_literal_msg(ex)) {
5617
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5618
0
        }
5619
0
        thread_local std::string err_msg{};
5620
0
        err_msg = ex.what();
5621
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5622
0
                                     err_msg.c_str());
5623
0
    }
5624
#else
5625
    auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
58.9k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5628
1.66k
        return e;
5629
1.66k
    }
5630
57.2k
    pctx.advance_to(fmt_it);
5631
57.2k
    return {};
5632
58.9k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<scn::v4::datetime_components, scn::v4::scanner<scn::v4::datetime_components, char, void>, scn::v4::basic_scan_parse_context<char> >(scn::v4::datetime_components&, scn::v4::scanner<scn::v4::datetime_components, char, void>&, scn::v4::basic_scan_parse_context<char>&)
Line
Count
Source
5602
58.9k
{
5603
58.9k
#if SCN_HAS_EXCEPTIONS
5604
58.9k
    auto fmt_it = pctx.begin();
5605
58.9k
    try {
5606
58.9k
        fmt_it = s.parse(pctx);
5607
58.9k
    }
5608
58.9k
    catch (const detail::scan_format_string_error_base& ex) {
5609
        // scan_error takes a const char*.
5610
        // scan_format_string_error (or, actually, std::runtime_error)
5611
        // stores a reference-counted string,
5612
        // that will go out of scope here.
5613
        // We need to provide a const char* that will stay in scope.
5614
        // If scan_format_string_error was thrown with a string literal,
5615
        // use that, otherwise refer to a thread_local std::string
5616
0
        if (const char* m = get_internal_literal_msg(ex)) {
5617
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5618
0
        }
5619
0
        thread_local std::string err_msg{};
5620
0
        err_msg = ex.what();
5621
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5622
0
                                     err_msg.c_str());
5623
0
    }
5624
#else
5625
    auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
58.9k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5628
1.66k
        return e;
5629
1.66k
    }
5630
57.2k
    pctx.advance_to(fmt_it);
5631
57.2k
    return {};
5632
58.9k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<tm, scn::v4::scanner<tm, wchar_t, void>, scn::v4::basic_scan_parse_context<wchar_t> >(tm&, scn::v4::scanner<tm, wchar_t, void>&, scn::v4::basic_scan_parse_context<wchar_t>&)
Line
Count
Source
5602
64.1k
{
5603
64.1k
#if SCN_HAS_EXCEPTIONS
5604
64.1k
    auto fmt_it = pctx.begin();
5605
64.1k
    try {
5606
64.1k
        fmt_it = s.parse(pctx);
5607
64.1k
    }
5608
64.1k
    catch (const detail::scan_format_string_error_base& ex) {
5609
        // scan_error takes a const char*.
5610
        // scan_format_string_error (or, actually, std::runtime_error)
5611
        // stores a reference-counted string,
5612
        // that will go out of scope here.
5613
        // We need to provide a const char* that will stay in scope.
5614
        // If scan_format_string_error was thrown with a string literal,
5615
        // use that, otherwise refer to a thread_local std::string
5616
0
        if (const char* m = get_internal_literal_msg(ex)) {
5617
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5618
0
        }
5619
0
        thread_local std::string err_msg{};
5620
0
        err_msg = ex.what();
5621
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5622
0
                                     err_msg.c_str());
5623
0
    }
5624
#else
5625
    auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
64.1k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5628
3.33k
        return e;
5629
3.33k
    }
5630
60.7k
    pctx.advance_to(fmt_it);
5631
60.7k
    return {};
5632
64.1k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<scn::v4::tm_with_tz, scn::v4::scanner<scn::v4::tm_with_tz, wchar_t, void>, scn::v4::basic_scan_parse_context<wchar_t> >(scn::v4::tm_with_tz&, scn::v4::scanner<scn::v4::tm_with_tz, wchar_t, void>&, scn::v4::basic_scan_parse_context<wchar_t>&)
Line
Count
Source
5602
64.1k
{
5603
64.1k
#if SCN_HAS_EXCEPTIONS
5604
64.1k
    auto fmt_it = pctx.begin();
5605
64.1k
    try {
5606
64.1k
        fmt_it = s.parse(pctx);
5607
64.1k
    }
5608
64.1k
    catch (const detail::scan_format_string_error_base& ex) {
5609
        // scan_error takes a const char*.
5610
        // scan_format_string_error (or, actually, std::runtime_error)
5611
        // stores a reference-counted string,
5612
        // that will go out of scope here.
5613
        // We need to provide a const char* that will stay in scope.
5614
        // If scan_format_string_error was thrown with a string literal,
5615
        // use that, otherwise refer to a thread_local std::string
5616
0
        if (const char* m = get_internal_literal_msg(ex)) {
5617
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5618
0
        }
5619
0
        thread_local std::string err_msg{};
5620
0
        err_msg = ex.what();
5621
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5622
0
                                     err_msg.c_str());
5623
0
    }
5624
#else
5625
    auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
64.1k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5628
3.33k
        return e;
5629
3.33k
    }
5630
60.7k
    pctx.advance_to(fmt_it);
5631
60.7k
    return {};
5632
64.1k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<scn::v4::datetime_components, scn::v4::scanner<scn::v4::datetime_components, wchar_t, void>, scn::v4::basic_scan_parse_context<wchar_t> >(scn::v4::datetime_components&, scn::v4::scanner<scn::v4::datetime_components, wchar_t, void>&, scn::v4::basic_scan_parse_context<wchar_t>&)
Line
Count
Source
5602
64.1k
{
5603
64.1k
#if SCN_HAS_EXCEPTIONS
5604
64.1k
    auto fmt_it = pctx.begin();
5605
64.1k
    try {
5606
64.1k
        fmt_it = s.parse(pctx);
5607
64.1k
    }
5608
64.1k
    catch (const detail::scan_format_string_error_base& ex) {
5609
        // scan_error takes a const char*.
5610
        // scan_format_string_error (or, actually, std::runtime_error)
5611
        // stores a reference-counted string,
5612
        // that will go out of scope here.
5613
        // We need to provide a const char* that will stay in scope.
5614
        // If scan_format_string_error was thrown with a string literal,
5615
        // use that, otherwise refer to a thread_local std::string
5616
0
        if (const char* m = get_internal_literal_msg(ex)) {
5617
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5618
0
        }
5619
0
        thread_local std::string err_msg{};
5620
0
        err_msg = ex.what();
5621
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5622
0
                                     err_msg.c_str());
5623
0
    }
5624
#else
5625
    auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
64.1k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5628
3.33k
        return e;
5629
3.33k
    }
5630
60.7k
    pctx.advance_to(fmt_it);
5631
60.7k
    return {};
5632
64.1k
}
5633
5634
class arg_value {
5635
public:
5636
    // trivial default initialization in constexpr
5637
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
5638
    SCN_STD > SCN_STD_20
5639
    constexpr arg_value() = default;
5640
#else
5641
369k
    arg_value() = default;
5642
#endif
5643
5644
    template <typename T>
5645
0
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
0
    {
5647
0
    }
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<double>(double&)
5648
5649
    template <typename T, typename Context>
5650
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
5651
369k
        : custom_value{static_cast<void*>(&val.val),
5652
369k
                       scan_custom_arg<T, Context>}
5653
369k
    {
5654
369k
    }
scn::v4::detail::arg_value::arg_value<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >)
Line
Count
Source
5651
58.9k
        : custom_value{static_cast<void*>(&val.val),
5652
58.9k
                       scan_custom_arg<T, Context>}
5653
58.9k
    {
5654
58.9k
    }
scn::v4::detail::arg_value::arg_value<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >)
Line
Count
Source
5651
58.9k
        : custom_value{static_cast<void*>(&val.val),
5652
58.9k
                       scan_custom_arg<T, Context>}
5653
58.9k
    {
5654
58.9k
    }
scn::v4::detail::arg_value::arg_value<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >)
Line
Count
Source
5651
58.9k
        : custom_value{static_cast<void*>(&val.val),
5652
58.9k
                       scan_custom_arg<T, Context>}
5653
58.9k
    {
5654
58.9k
    }
scn::v4::detail::arg_value::arg_value<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >)
Line
Count
Source
5651
64.1k
        : custom_value{static_cast<void*>(&val.val),
5652
64.1k
                       scan_custom_arg<T, Context>}
5653
64.1k
    {
5654
64.1k
    }
scn::v4::detail::arg_value::arg_value<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >)
Line
Count
Source
5651
64.1k
        : custom_value{static_cast<void*>(&val.val),
5652
64.1k
                       scan_custom_arg<T, Context>}
5653
64.1k
    {
5654
64.1k
    }
scn::v4::detail::arg_value::arg_value<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >)
Line
Count
Source
5651
64.1k
        : custom_value{static_cast<void*>(&val.val),
5652
64.1k
                       scan_custom_arg<T, Context>}
5653
64.1k
    {
5654
64.1k
    }
5655
5656
    arg_value(unscannable);
5657
    arg_value(unscannable_char);
5658
    arg_value(unscannable_const);
5659
    arg_value(unscannable_disabled);
5660
5661
    union {
5662
        void* ref_value{nullptr};
5663
        custom_value_type custom_value;
5664
    };
5665
5666
private:
5667
    template <typename T, typename Context>
5668
    static scan_expected<void> scan_custom_arg(void* arg, void* pctx, void* ctx)
5669
369k
    {
5670
369k
        static_assert(!is_type_disabled<T>,
5671
369k
                      "Scanning of custom types is disabled by "
5672
369k
                      "SCN_DISABLE_TYPE_CUSTOM");
5673
369k
        SCN_EXPECT(arg && pctx && ctx);
5674
5675
369k
        using context_type = Context;
5676
369k
        using parse_context_type = typename context_type::parse_context_type;
5677
369k
        using scanner_type = typename context_type::template scanner_type<T>;
5678
5679
369k
        auto s = scanner_type{};
5680
5681
369k
        auto& arg_ref = *static_cast<T*>(arg);
5682
369k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5683
369k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5684
5685
369k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5686
354k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5687
144k
        ctx_ref.advance_to(SCN_MOVE(it));
5688
5689
144k
        return {};
5690
354k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(void*, void*, void*)
Line
Count
Source
5669
58.9k
    {
5670
58.9k
        static_assert(!is_type_disabled<T>,
5671
58.9k
                      "Scanning of custom types is disabled by "
5672
58.9k
                      "SCN_DISABLE_TYPE_CUSTOM");
5673
58.9k
        SCN_EXPECT(arg && pctx && ctx);
5674
5675
58.9k
        using context_type = Context;
5676
58.9k
        using parse_context_type = typename context_type::parse_context_type;
5677
58.9k
        using scanner_type = typename context_type::template scanner_type<T>;
5678
5679
58.9k
        auto s = scanner_type{};
5680
5681
58.9k
        auto& arg_ref = *static_cast<T*>(arg);
5682
58.9k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5683
58.9k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5684
5685
58.9k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5686
57.2k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5687
33.9k
        ctx_ref.advance_to(SCN_MOVE(it));
5688
5689
33.9k
        return {};
5690
57.2k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(void*, void*, void*)
Line
Count
Source
5669
58.9k
    {
5670
58.9k
        static_assert(!is_type_disabled<T>,
5671
58.9k
                      "Scanning of custom types is disabled by "
5672
58.9k
                      "SCN_DISABLE_TYPE_CUSTOM");
5673
58.9k
        SCN_EXPECT(arg && pctx && ctx);
5674
5675
58.9k
        using context_type = Context;
5676
58.9k
        using parse_context_type = typename context_type::parse_context_type;
5677
58.9k
        using scanner_type = typename context_type::template scanner_type<T>;
5678
5679
58.9k
        auto s = scanner_type{};
5680
5681
58.9k
        auto& arg_ref = *static_cast<T*>(arg);
5682
58.9k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5683
58.9k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5684
5685
58.9k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5686
57.2k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5687
33.9k
        ctx_ref.advance_to(SCN_MOVE(it));
5688
5689
33.9k
        return {};
5690
57.2k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(void*, void*, void*)
Line
Count
Source
5669
58.9k
    {
5670
58.9k
        static_assert(!is_type_disabled<T>,
5671
58.9k
                      "Scanning of custom types is disabled by "
5672
58.9k
                      "SCN_DISABLE_TYPE_CUSTOM");
5673
58.9k
        SCN_EXPECT(arg && pctx && ctx);
5674
5675
58.9k
        using context_type = Context;
5676
58.9k
        using parse_context_type = typename context_type::parse_context_type;
5677
58.9k
        using scanner_type = typename context_type::template scanner_type<T>;
5678
5679
58.9k
        auto s = scanner_type{};
5680
5681
58.9k
        auto& arg_ref = *static_cast<T*>(arg);
5682
58.9k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5683
58.9k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5684
5685
58.9k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5686
57.2k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5687
33.9k
        ctx_ref.advance_to(SCN_MOVE(it));
5688
5689
33.9k
        return {};
5690
57.2k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(void*, void*, void*)
Line
Count
Source
5669
64.1k
    {
5670
64.1k
        static_assert(!is_type_disabled<T>,
5671
64.1k
                      "Scanning of custom types is disabled by "
5672
64.1k
                      "SCN_DISABLE_TYPE_CUSTOM");
5673
64.1k
        SCN_EXPECT(arg && pctx && ctx);
5674
5675
64.1k
        using context_type = Context;
5676
64.1k
        using parse_context_type = typename context_type::parse_context_type;
5677
64.1k
        using scanner_type = typename context_type::template scanner_type<T>;
5678
5679
64.1k
        auto s = scanner_type{};
5680
5681
64.1k
        auto& arg_ref = *static_cast<T*>(arg);
5682
64.1k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5683
64.1k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5684
5685
64.1k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5686
60.7k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5687
14.0k
        ctx_ref.advance_to(SCN_MOVE(it));
5688
5689
14.0k
        return {};
5690
60.7k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(void*, void*, void*)
Line
Count
Source
5669
64.1k
    {
5670
64.1k
        static_assert(!is_type_disabled<T>,
5671
64.1k
                      "Scanning of custom types is disabled by "
5672
64.1k
                      "SCN_DISABLE_TYPE_CUSTOM");
5673
64.1k
        SCN_EXPECT(arg && pctx && ctx);
5674
5675
64.1k
        using context_type = Context;
5676
64.1k
        using parse_context_type = typename context_type::parse_context_type;
5677
64.1k
        using scanner_type = typename context_type::template scanner_type<T>;
5678
5679
64.1k
        auto s = scanner_type{};
5680
5681
64.1k
        auto& arg_ref = *static_cast<T*>(arg);
5682
64.1k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5683
64.1k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5684
5685
64.1k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5686
60.7k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5687
14.0k
        ctx_ref.advance_to(SCN_MOVE(it));
5688
5689
14.0k
        return {};
5690
60.7k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(void*, void*, void*)
Line
Count
Source
5669
64.1k
    {
5670
64.1k
        static_assert(!is_type_disabled<T>,
5671
64.1k
                      "Scanning of custom types is disabled by "
5672
64.1k
                      "SCN_DISABLE_TYPE_CUSTOM");
5673
64.1k
        SCN_EXPECT(arg && pctx && ctx);
5674
5675
64.1k
        using context_type = Context;
5676
64.1k
        using parse_context_type = typename context_type::parse_context_type;
5677
64.1k
        using scanner_type = typename context_type::template scanner_type<T>;
5678
5679
64.1k
        auto s = scanner_type{};
5680
5681
64.1k
        auto& arg_ref = *static_cast<T*>(arg);
5682
64.1k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5683
64.1k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5684
5685
64.1k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5686
60.7k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5687
14.0k
        ctx_ref.advance_to(SCN_MOVE(it));
5688
5689
14.0k
        return {};
5690
60.7k
    }
5691
};
5692
5693
template <typename CharT>
5694
struct arg_mapper {
5695
    using char_type = CharT;
5696
    using other_char_type =
5697
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
5698
5699
#define SCN_ARG_MAPPER(T)                                                    \
5700
    static auto map(T& val)                                                  \
5701
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
5702
0
    {                                                                        \
5703
0
        return val;                                                          \
5704
0
    }
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(double&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5705
5706
    SCN_ARG_MAPPER(signed char)
5707
    SCN_ARG_MAPPER(short)
5708
    SCN_ARG_MAPPER(int)
5709
    SCN_ARG_MAPPER(long)
5710
    SCN_ARG_MAPPER(long long)
5711
    SCN_ARG_MAPPER(unsigned char)
5712
    SCN_ARG_MAPPER(unsigned short)
5713
    SCN_ARG_MAPPER(unsigned)
5714
    SCN_ARG_MAPPER(unsigned long)
5715
    SCN_ARG_MAPPER(unsigned long long)
5716
    SCN_ARG_MAPPER(wchar_t)
5717
    SCN_ARG_MAPPER(char32_t)
5718
    SCN_ARG_MAPPER(bool)
5719
    SCN_ARG_MAPPER(void*)
5720
    SCN_ARG_MAPPER(const void*)
5721
    SCN_ARG_MAPPER(float)
5722
    SCN_ARG_MAPPER(double)
5723
    SCN_ARG_MAPPER(long double)
5724
5725
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
5726
    SCN_ARG_MAPPER(std::string)
5727
    SCN_ARG_MAPPER(std::wstring)
5728
5729
#if SCN_HAS_INT128
5730
    SCN_ARG_MAPPER(int128)
5731
    SCN_ARG_MAPPER(uint128)
5732
#endif
5733
5734
#if SCN_HAS_STD_F16
5735
    SCN_ARG_MAPPER(std::float16_t)
5736
#endif
5737
#if SCN_HAS_STD_F32
5738
    SCN_ARG_MAPPER(std::float32_t)
5739
#endif
5740
#if SCN_HAS_STD_F64
5741
    SCN_ARG_MAPPER(std::float64_t)
5742
#endif
5743
#if SCN_HAS_STD_F128
5744
    SCN_ARG_MAPPER(std::float128_t)
5745
#endif
5746
#if SCN_HAS_STD_BF16
5747
    SCN_ARG_MAPPER(std::bfloat16_t)
5748
#endif
5749
5750
#undef SCN_ARG_MAPPER
5751
5752
    static decltype(auto) map(char& val)
5753
    {
5754
        if constexpr (std::is_same_v<char_type, char> &&
5755
                      !is_type_disabled<char_type>) {
5756
            return val;
5757
        }
5758
        else if constexpr (is_type_disabled<char_type>) {
5759
            return unscannable_disabled{val};
5760
        }
5761
        else {
5762
            SCN_UNUSED(val);
5763
            return unscannable_char{};
5764
        }
5765
    }
5766
5767
#if !SCN_DISABLE_REGEX
5768
    // regex_matches treated as a custom type, not packed,
5769
    // to save bits in the packed value,
5770
    // and since regex reading isn't fast anyway
5771
    template <typename T, typename Context>
5772
    static auto map(basic_regex_matches<char_type>& val)
5773
    {
5774
        if constexpr (is_type_disabled<char_type>) {
5775
            return unscannable_disabled{val};
5776
        }
5777
        else {
5778
            return custom_wrapper<T, Context>{val};
5779
        }
5780
    }
5781
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5782
    {
5783
        return {};
5784
    }
5785
#endif
5786
5787
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5788
    {
5789
        return {};
5790
    }
5791
5792
    template <typename T,
5793
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5794
    static needs_context_tag map(T&)
5795
369k
    {
5796
369k
        return {};
5797
369k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapI2tmTnPvLPv0EEENS1_17needs_context_tagERT_
Line
Count
Source
5795
58.9k
    {
5796
58.9k
        return {};
5797
58.9k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapINS0_10tm_with_tzETnPvLPv0EEENS1_17needs_context_tagERT_
Line
Count
Source
5795
58.9k
    {
5796
58.9k
        return {};
5797
58.9k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapINS0_19datetime_componentsETnPvLPv0EEENS1_17needs_context_tagERT_
Line
Count
Source
5795
58.9k
    {
5796
58.9k
        return {};
5797
58.9k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapI2tmTnPvLPv0EEENS1_17needs_context_tagERT_
Line
Count
Source
5795
64.1k
    {
5796
64.1k
        return {};
5797
64.1k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapINS0_10tm_with_tzETnPvLPv0EEENS1_17needs_context_tagERT_
Line
Count
Source
5795
64.1k
    {
5796
64.1k
        return {};
5797
64.1k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapINS0_19datetime_componentsETnPvLPv0EEENS1_17needs_context_tagERT_
Line
Count
Source
5795
64.1k
    {
5796
64.1k
        return {};
5797
64.1k
    }
5798
5799
    template <typename T,
5800
              typename Context,
5801
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5802
    static custom_wrapper<T, Context> map(T& val, context_tag<Context>)
5803
369k
    {
5804
369k
        return {val};
5805
369k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapI2tmNS0_18basic_scan_contextINS1_16buffer_range_tagEcEETnPvLPv0EEENS1_14custom_wrapperIT_T0_EERSC_NS1_11context_tagISD_EE
Line
Count
Source
5803
58.9k
    {
5804
58.9k
        return {val};
5805
58.9k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapINS0_10tm_with_tzENS0_18basic_scan_contextINS1_16buffer_range_tagEcEETnPvLPv0EEENS1_14custom_wrapperIT_T0_EERSC_NS1_11context_tagISD_EE
Line
Count
Source
5803
58.9k
    {
5804
58.9k
        return {val};
5805
58.9k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapINS0_19datetime_componentsENS0_18basic_scan_contextINS1_16buffer_range_tagEcEETnPvLPv0EEENS1_14custom_wrapperIT_T0_EERSC_NS1_11context_tagISD_EE
Line
Count
Source
5803
58.9k
    {
5804
58.9k
        return {val};
5805
58.9k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapI2tmNS0_18basic_scan_contextINS1_16buffer_range_tagEwEETnPvLPv0EEENS1_14custom_wrapperIT_T0_EERSC_NS1_11context_tagISD_EE
Line
Count
Source
5803
64.1k
    {
5804
64.1k
        return {val};
5805
64.1k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapINS0_10tm_with_tzENS0_18basic_scan_contextINS1_16buffer_range_tagEwEETnPvLPv0EEENS1_14custom_wrapperIT_T0_EERSC_NS1_11context_tagISD_EE
Line
Count
Source
5803
64.1k
    {
5804
64.1k
        return {val};
5805
64.1k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapINS0_19datetime_componentsENS0_18basic_scan_contextINS1_16buffer_range_tagEwEETnPvLPv0EEENS1_14custom_wrapperIT_T0_EERSC_NS1_11context_tagISD_EE
Line
Count
Source
5803
64.1k
    {
5804
64.1k
        return {val};
5805
64.1k
    }
5806
5807
    static unscannable map(...)
5808
    {
5809
        return {};
5810
    }
5811
};
5812
5813
template <typename T, typename CharT>
5814
using mapped_type_constant = arg_type_constant<
5815
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5816
    CharT>;
5817
5818
template <typename T, typename CharT>
5819
using is_scannable = std::integral_constant<
5820
    bool,
5821
    !std::is_base_of_v<
5822
        unscannable,
5823
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5824
5825
constexpr std::size_t packed_arg_bits = 5;
5826
static_assert((1 << packed_arg_bits) > static_cast<int>(arg_type::last_type),
5827
              "If this fails, there are more `arg_type` values than values "
5828
              "that can fit in `packed_arg_bits`. Either something needs to be "
5829
              "removed from `arg_type` (spilling them to the stack), or "
5830
              "`packed_arg_bits` must be increased (causing the number of "
5831
              "arguments that can be packed to decrease)");
5832
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5833
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5834
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5835
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5836
5837
template <typename>
5838
constexpr size_t encode_types_impl()
5839
0
{
5840
0
    return 0;
5841
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t>()
5842
template <typename CharT, typename T, typename... Others>
5843
constexpr size_t encode_types_impl()
5844
0
{
5845
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5846
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5847
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
5848
5849
template <typename CharT, typename... Ts>
5850
constexpr size_t encode_types()
5851
0
{
5852
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5853
0
        return sizeof...(Ts) |
5854
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5855
0
    }
5856
0
    else {
5857
0
        SCN_EXPECT(false);
5858
0
        SCN_UNREACHABLE;
5859
0
    }
5860
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
5861
5862
template <typename T, typename Arg>
5863
constexpr auto make_value_impl(Arg&& arg)
5864
369k
{
5865
369k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
369k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
369k
    constexpr bool scannable_char =
5869
369k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
369k
    static_assert(scannable_char,
5871
369k
                  "Cannot scan an argument of an unsupported character "
5872
369k
                  "type (i.e. char from a wchar_t source)");
5873
5874
369k
    constexpr bool scannable_const =
5875
369k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
369k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
369k
    constexpr bool scannable_disabled =
5879
369k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
369k
    static_assert(scannable_disabled,
5881
369k
                  "Cannot scan an argument that has been disabled by "
5882
369k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
369k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
369k
    static_assert(
5886
369k
        scannable,
5887
369k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
369k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
369k
    return arg_value{arg};
5891
369k
}
auto scn::v4::detail::make_value_impl<tm, scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
5864
58.9k
{
5865
58.9k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
58.9k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
58.9k
    constexpr bool scannable_char =
5869
58.9k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
58.9k
    static_assert(scannable_char,
5871
58.9k
                  "Cannot scan an argument of an unsupported character "
5872
58.9k
                  "type (i.e. char from a wchar_t source)");
5873
5874
58.9k
    constexpr bool scannable_const =
5875
58.9k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
58.9k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
58.9k
    constexpr bool scannable_disabled =
5879
58.9k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
58.9k
    static_assert(scannable_disabled,
5881
58.9k
                  "Cannot scan an argument that has been disabled by "
5882
58.9k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
58.9k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
58.9k
    static_assert(
5886
58.9k
        scannable,
5887
58.9k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
58.9k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
58.9k
    return arg_value{arg};
5891
58.9k
}
auto scn::v4::detail::make_value_impl<scn::v4::tm_with_tz, scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
5864
58.9k
{
5865
58.9k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
58.9k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
58.9k
    constexpr bool scannable_char =
5869
58.9k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
58.9k
    static_assert(scannable_char,
5871
58.9k
                  "Cannot scan an argument of an unsupported character "
5872
58.9k
                  "type (i.e. char from a wchar_t source)");
5873
5874
58.9k
    constexpr bool scannable_const =
5875
58.9k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
58.9k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
58.9k
    constexpr bool scannable_disabled =
5879
58.9k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
58.9k
    static_assert(scannable_disabled,
5881
58.9k
                  "Cannot scan an argument that has been disabled by "
5882
58.9k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
58.9k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
58.9k
    static_assert(
5886
58.9k
        scannable,
5887
58.9k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
58.9k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
58.9k
    return arg_value{arg};
5891
58.9k
}
auto scn::v4::detail::make_value_impl<scn::v4::datetime_components, scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
5864
58.9k
{
5865
58.9k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
58.9k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
58.9k
    constexpr bool scannable_char =
5869
58.9k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
58.9k
    static_assert(scannable_char,
5871
58.9k
                  "Cannot scan an argument of an unsupported character "
5872
58.9k
                  "type (i.e. char from a wchar_t source)");
5873
5874
58.9k
    constexpr bool scannable_const =
5875
58.9k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
58.9k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
58.9k
    constexpr bool scannable_disabled =
5879
58.9k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
58.9k
    static_assert(scannable_disabled,
5881
58.9k
                  "Cannot scan an argument that has been disabled by "
5882
58.9k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
58.9k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
58.9k
    static_assert(
5886
58.9k
        scannable,
5887
58.9k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
58.9k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
58.9k
    return arg_value{arg};
5891
58.9k
}
auto scn::v4::detail::make_value_impl<tm, scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
5864
64.1k
{
5865
64.1k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
64.1k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
64.1k
    constexpr bool scannable_char =
5869
64.1k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
64.1k
    static_assert(scannable_char,
5871
64.1k
                  "Cannot scan an argument of an unsupported character "
5872
64.1k
                  "type (i.e. char from a wchar_t source)");
5873
5874
64.1k
    constexpr bool scannable_const =
5875
64.1k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
64.1k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
64.1k
    constexpr bool scannable_disabled =
5879
64.1k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
64.1k
    static_assert(scannable_disabled,
5881
64.1k
                  "Cannot scan an argument that has been disabled by "
5882
64.1k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
64.1k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
64.1k
    static_assert(
5886
64.1k
        scannable,
5887
64.1k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
64.1k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
64.1k
    return arg_value{arg};
5891
64.1k
}
auto scn::v4::detail::make_value_impl<scn::v4::tm_with_tz, scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
5864
64.1k
{
5865
64.1k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
64.1k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
64.1k
    constexpr bool scannable_char =
5869
64.1k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
64.1k
    static_assert(scannable_char,
5871
64.1k
                  "Cannot scan an argument of an unsupported character "
5872
64.1k
                  "type (i.e. char from a wchar_t source)");
5873
5874
64.1k
    constexpr bool scannable_const =
5875
64.1k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
64.1k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
64.1k
    constexpr bool scannable_disabled =
5879
64.1k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
64.1k
    static_assert(scannable_disabled,
5881
64.1k
                  "Cannot scan an argument that has been disabled by "
5882
64.1k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
64.1k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
64.1k
    static_assert(
5886
64.1k
        scannable,
5887
64.1k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
64.1k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
64.1k
    return arg_value{arg};
5891
64.1k
}
auto scn::v4::detail::make_value_impl<scn::v4::datetime_components, scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
5864
64.1k
{
5865
64.1k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
64.1k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
64.1k
    constexpr bool scannable_char =
5869
64.1k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
64.1k
    static_assert(scannable_char,
5871
64.1k
                  "Cannot scan an argument of an unsupported character "
5872
64.1k
                  "type (i.e. char from a wchar_t source)");
5873
5874
64.1k
    constexpr bool scannable_const =
5875
64.1k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
64.1k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
64.1k
    constexpr bool scannable_disabled =
5879
64.1k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
64.1k
    static_assert(scannable_disabled,
5881
64.1k
                  "Cannot scan an argument that has been disabled by "
5882
64.1k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
64.1k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
64.1k
    static_assert(
5886
64.1k
        scannable,
5887
64.1k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
64.1k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
64.1k
    return arg_value{arg};
5891
64.1k
}
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<double, double&>(double&)
5892
5893
template <typename Context, typename T>
5894
constexpr auto make_value(T& value)
5895
369k
{
5896
369k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
0
                                  needs_context_tag>) {
5900
0
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
369k
    else {
5903
369k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
369k
            value, context_tag<Context>{}));
5905
369k
    }
5906
369k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>(tm&)
Line
Count
Source
5895
58.9k
{
5896
58.9k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
                                  needs_context_tag>) {
5900
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
58.9k
    else {
5903
58.9k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
58.9k
            value, context_tag<Context>{}));
5905
58.9k
    }
5906
58.9k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
5895
58.9k
{
5896
58.9k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
                                  needs_context_tag>) {
5900
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
58.9k
    else {
5903
58.9k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
58.9k
            value, context_tag<Context>{}));
5905
58.9k
    }
5906
58.9k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
5895
58.9k
{
5896
58.9k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
                                  needs_context_tag>) {
5900
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
58.9k
    else {
5903
58.9k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
58.9k
            value, context_tag<Context>{}));
5905
58.9k
    }
5906
58.9k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>(tm&)
Line
Count
Source
5895
64.1k
{
5896
64.1k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
                                  needs_context_tag>) {
5900
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
64.1k
    else {
5903
64.1k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
64.1k
            value, context_tag<Context>{}));
5905
64.1k
    }
5906
64.1k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
5895
64.1k
{
5896
64.1k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
                                  needs_context_tag>) {
5900
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
64.1k
    else {
5903
64.1k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
64.1k
            value, context_tag<Context>{}));
5905
64.1k
    }
5906
64.1k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
5895
64.1k
{
5896
64.1k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
                                  needs_context_tag>) {
5900
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
64.1k
    else {
5903
64.1k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
64.1k
            value, context_tag<Context>{}));
5905
64.1k
    }
5906
64.1k
}
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(double&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5907
5908
template <typename... Args>
5909
constexpr bool check_scan_arg_types()
5910
369k
{
5911
369k
    constexpr bool default_constructible_constraint =
5912
369k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
369k
    static_assert(default_constructible_constraint,
5914
369k
                  "Scan argument types must be default constructible");
5915
5916
369k
    constexpr bool destructible_constraint =
5917
369k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
369k
    static_assert(destructible_constraint,
5919
369k
                  "Scan argument types must be Destructible");
5920
5921
369k
    constexpr bool non_reference_constraint =
5922
369k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
369k
    static_assert(non_reference_constraint,
5924
369k
                  "Scan argument types must not be references");
5925
5926
369k
    constexpr bool movable_constraint =
5927
369k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
369k
    static_assert(movable_constraint,
5929
369k
                  "Scan argument types must be move constructible");
5930
5931
369k
    return default_constructible_constraint && destructible_constraint &&
5932
369k
           non_reference_constraint && movable_constraint;
5933
369k
}
bool scn::v4::detail::check_scan_arg_types<tm>()
Line
Count
Source
5910
123k
{
5911
123k
    constexpr bool default_constructible_constraint =
5912
123k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
123k
    static_assert(default_constructible_constraint,
5914
123k
                  "Scan argument types must be default constructible");
5915
5916
123k
    constexpr bool destructible_constraint =
5917
123k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
123k
    static_assert(destructible_constraint,
5919
123k
                  "Scan argument types must be Destructible");
5920
5921
123k
    constexpr bool non_reference_constraint =
5922
123k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
123k
    static_assert(non_reference_constraint,
5924
123k
                  "Scan argument types must not be references");
5925
5926
123k
    constexpr bool movable_constraint =
5927
123k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
123k
    static_assert(movable_constraint,
5929
123k
                  "Scan argument types must be move constructible");
5930
5931
123k
    return default_constructible_constraint && destructible_constraint &&
5932
123k
           non_reference_constraint && movable_constraint;
5933
123k
}
bool scn::v4::detail::check_scan_arg_types<scn::v4::tm_with_tz>()
Line
Count
Source
5910
123k
{
5911
123k
    constexpr bool default_constructible_constraint =
5912
123k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
123k
    static_assert(default_constructible_constraint,
5914
123k
                  "Scan argument types must be default constructible");
5915
5916
123k
    constexpr bool destructible_constraint =
5917
123k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
123k
    static_assert(destructible_constraint,
5919
123k
                  "Scan argument types must be Destructible");
5920
5921
123k
    constexpr bool non_reference_constraint =
5922
123k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
123k
    static_assert(non_reference_constraint,
5924
123k
                  "Scan argument types must not be references");
5925
5926
123k
    constexpr bool movable_constraint =
5927
123k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
123k
    static_assert(movable_constraint,
5929
123k
                  "Scan argument types must be move constructible");
5930
5931
123k
    return default_constructible_constraint && destructible_constraint &&
5932
123k
           non_reference_constraint && movable_constraint;
5933
123k
}
bool scn::v4::detail::check_scan_arg_types<scn::v4::datetime_components>()
Line
Count
Source
5910
123k
{
5911
123k
    constexpr bool default_constructible_constraint =
5912
123k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
123k
    static_assert(default_constructible_constraint,
5914
123k
                  "Scan argument types must be default constructible");
5915
5916
123k
    constexpr bool destructible_constraint =
5917
123k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
123k
    static_assert(destructible_constraint,
5919
123k
                  "Scan argument types must be Destructible");
5920
5921
123k
    constexpr bool non_reference_constraint =
5922
123k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
123k
    static_assert(non_reference_constraint,
5924
123k
                  "Scan argument types must not be references");
5925
5926
123k
    constexpr bool movable_constraint =
5927
123k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
123k
    static_assert(movable_constraint,
5929
123k
                  "Scan argument types must be move constructible");
5930
5931
123k
    return default_constructible_constraint && destructible_constraint &&
5932
123k
           non_reference_constraint && movable_constraint;
5933
123k
}
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<double>()
5934
5935
enum class scan_arg_store_kind {
5936
    // only built-in types (no custom types), packed
5937
    builtin,
5938
5939
    packed,
5940
    unpacked
5941
};
5942
5943
template <typename Context, typename T>
5944
constexpr basic_scan_arg<Context> make_arg(T& value)
5945
15.0k
{
5946
15.0k
    check_scan_arg_types<T>();
5947
5948
15.0k
    basic_scan_arg<Context> arg;
5949
15.0k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
15.0k
    arg.m_value = make_value<Context>(value);
5951
15.0k
    return arg;
5952
15.0k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>(tm&)
Line
Count
Source
5945
1.66k
{
5946
1.66k
    check_scan_arg_types<T>();
5947
5948
1.66k
    basic_scan_arg<Context> arg;
5949
1.66k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
1.66k
    arg.m_value = make_value<Context>(value);
5951
1.66k
    return arg;
5952
1.66k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
5945
1.66k
{
5946
1.66k
    check_scan_arg_types<T>();
5947
5948
1.66k
    basic_scan_arg<Context> arg;
5949
1.66k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
1.66k
    arg.m_value = make_value<Context>(value);
5951
1.66k
    return arg;
5952
1.66k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
5945
1.66k
{
5946
1.66k
    check_scan_arg_types<T>();
5947
5948
1.66k
    basic_scan_arg<Context> arg;
5949
1.66k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
1.66k
    arg.m_value = make_value<Context>(value);
5951
1.66k
    return arg;
5952
1.66k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>(tm&)
Line
Count
Source
5945
3.33k
{
5946
3.33k
    check_scan_arg_types<T>();
5947
5948
3.33k
    basic_scan_arg<Context> arg;
5949
3.33k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
3.33k
    arg.m_value = make_value<Context>(value);
5951
3.33k
    return arg;
5952
3.33k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
5945
3.33k
{
5946
3.33k
    check_scan_arg_types<T>();
5947
5948
3.33k
    basic_scan_arg<Context> arg;
5949
3.33k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
3.33k
    arg.m_value = make_value<Context>(value);
5951
3.33k
    return arg;
5952
3.33k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
5945
3.33k
{
5946
3.33k
    check_scan_arg_types<T>();
5947
5948
3.33k
    basic_scan_arg<Context> arg;
5949
3.33k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
3.33k
    arg.m_value = make_value<Context>(value);
5951
3.33k
    return arg;
5952
3.33k
}
5953
5954
template <scan_arg_store_kind Kind,
5955
          typename Context,
5956
          arg_type,
5957
          typename T,
5958
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5959
constexpr void* make_arg(T& value)
5960
0
{
5961
0
    return make_value<Context>(value).ref_value;
5962
0
}
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)19, double, void>(double&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5963
template <scan_arg_store_kind Kind,
5964
          typename Context,
5965
          arg_type,
5966
          typename T,
5967
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5968
constexpr arg_value make_arg(T& value)
5969
354k
{
5970
354k
    return make_value<Context>(value);
5971
354k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)29, tm, void>(tm&)
Line
Count
Source
5969
57.2k
{
5970
57.2k
    return make_value<Context>(value);
5971
57.2k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)29, scn::v4::tm_with_tz, void>(scn::v4::tm_with_tz&)
Line
Count
Source
5969
57.2k
{
5970
57.2k
    return make_value<Context>(value);
5971
57.2k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)29, scn::v4::datetime_components, void>(scn::v4::datetime_components&)
Line
Count
Source
5969
57.2k
{
5970
57.2k
    return make_value<Context>(value);
5971
57.2k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)29, tm, void>(tm&)
Line
Count
Source
5969
60.7k
{
5970
60.7k
    return make_value<Context>(value);
5971
60.7k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)29, scn::v4::tm_with_tz, void>(scn::v4::tm_with_tz&)
Line
Count
Source
5969
60.7k
{
5970
60.7k
    return make_value<Context>(value);
5971
60.7k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)29, scn::v4::datetime_components, void>(scn::v4::datetime_components&)
Line
Count
Source
5969
60.7k
{
5970
60.7k
    return make_value<Context>(value);
5971
60.7k
}
5972
template <scan_arg_store_kind Kind,
5973
          typename Context,
5974
          arg_type,
5975
          typename T,
5976
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5977
constexpr basic_scan_arg<Context> make_arg(T&& value)
5978
{
5979
    return make_arg<Context>(SCN_FWD(value));
5980
}
5981
5982
template <typename Context>
5983
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5984
template <typename Context>
5985
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg);
5986
5987
template <typename Context>
5988
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg);
5989
template <typename Context>
5990
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg);
5991
5992
template <typename Visitor, typename Context>
5993
constexpr decltype(auto) visit_impl(Visitor&& vis,
5994
                                    basic_scan_arg<Context>& arg);
5995
}  // namespace detail
5996
5997
/**
5998
 * Type-erased scanning argument.
5999
 *
6000
 * Contains a pointer to the value contained in a `scan_arg_store`.
6001
 */
6002
template <typename Context>
6003
class basic_scan_arg {
6004
public:
6005
    /**
6006
     * Enables scanning of a user-defined type.
6007
     *
6008
     * Contains a pointer to the value contained in a `scan_arg_store`, and
6009
     * a callback for parsing the format string, and scanning the value.
6010
     *
6011
     * \see scn::visit_scan_arg
6012
     */
6013
    class handle {
6014
    public:
6015
        /**
6016
         * Parse the format string in `parse_ctx`, and scan the value from
6017
         * `ctx`.
6018
         *
6019
         * \return Any error returned by the scanner
6020
         */
6021
        scan_expected<void> scan(
6022
            typename Context::parse_context_type& parse_ctx,
6023
            Context& ctx) const
6024
369k
        {
6025
369k
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
6026
369k
        }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::scan(scn::v4::basic_scan_parse_context<char>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>&) const
Line
Count
Source
6024
176k
        {
6025
176k
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
6026
176k
        }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::scan(scn::v4::basic_scan_parse_context<wchar_t>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>&) const
Line
Count
Source
6024
192k
        {
6025
192k
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
6026
192k
        }
6027
6028
    private:
6029
369k
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::handle(scn::v4::detail::custom_value_type)
Line
Count
Source
6029
176k
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::handle(scn::v4::detail::custom_value_type)
Line
Count
Source
6029
192k
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
6030
6031
        template <typename Visitor, typename C>
6032
        friend constexpr decltype(auto) detail::visit_impl(
6033
            Visitor&& vis,
6034
            basic_scan_arg<C>& arg);
6035
6036
        detail::custom_value_type m_custom;
6037
    };
6038
6039
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
6040
369k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_arg()
Line
Count
Source
6040
176k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_arg()
Line
Count
Source
6040
192k
    constexpr basic_scan_arg() = default;
6041
6042
    /**
6043
     * @return `true` if `*this` contains an argument
6044
     */
6045
    constexpr explicit operator bool() const noexcept
6046
723k
    {
6047
723k
        return m_type != detail::arg_type::none_type;
6048
723k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator bool() const
Line
Count
Source
6046
348k
    {
6047
348k
        return m_type != detail::arg_type::none_type;
6048
348k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator bool() const
Line
Count
Source
6046
374k
    {
6047
374k
        return m_type != detail::arg_type::none_type;
6048
374k
    }
6049
6050
    /**
6051
     * Visit a `basic_scan_arg` with `Visitor`.
6052
     * Calls `vis` with the value stored in `*this`.
6053
     * If no value is contained in `*this`, calls `vis` with a `monostate`.
6054
     *
6055
     * \return `vis(x)`, where `x` is either a reference to the value contained
6056
     * in `*this`, or a `basic_scan_arg::handle`.
6057
     */
6058
    template <typename Visitor>
6059
    constexpr decltype(auto) visit(Visitor&& vis);
6060
6061
    template <typename R, typename Visitor>
6062
    constexpr R visit(Visitor&& vis);
6063
6064
private:
6065
    template <typename ContextType, typename T>
6066
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
6067
6068
    template <typename C>
6069
    friend constexpr detail::arg_type& detail::get_arg_type(
6070
        basic_scan_arg<C>& arg);
6071
    template <typename C>
6072
    friend constexpr detail::arg_type detail::get_arg_type(
6073
        const basic_scan_arg<C>& arg);
6074
6075
    template <typename C>
6076
    friend constexpr detail::arg_value& detail::get_arg_value(
6077
        basic_scan_arg<C>& arg);
6078
    template <typename C>
6079
    friend constexpr detail::arg_value detail::get_arg_value(
6080
        const basic_scan_arg<C>& arg);
6081
6082
    friend class basic_scan_args<Context>;
6083
6084
    detail::arg_value m_value{};
6085
    detail::arg_type m_type{detail::arg_type::none_type};
6086
};
6087
6088
namespace detail {
6089
template <typename Context>
6090
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg)
6091
723k
{
6092
723k
    return arg.m_type;
6093
723k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6091
348k
{
6092
348k
    return arg.m_type;
6093
348k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6091
374k
{
6092
374k
    return arg.m_type;
6093
374k
}
6094
6095
template <typename Context>
6096
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg)
6097
{
6098
    return arg.m_type;
6099
}
6100
6101
template <typename Context>
6102
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
6103
369k
{
6104
369k
    return arg.m_value;
6105
369k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6103
176k
{
6104
176k
    return arg.m_value;
6105
176k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6103
192k
{
6104
192k
    return arg.m_value;
6105
192k
}
6106
6107
template <typename Context>
6108
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg)
6109
{
6110
    return arg.m_value;
6111
}
6112
6113
template <typename CharT>
6114
constexpr bool all_types_builtin()
6115
0
{
6116
0
    return true;
6117
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t>()
6118
template <typename CharT, typename T, typename... Args>
6119
constexpr bool all_types_builtin()
6120
0
{
6121
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
6122
0
           all_types_builtin<CharT, Args...>();
6123
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, tm>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, scn::v4::tm_with_tz>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, scn::v4::datetime_components>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, tm>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
6124
6125
template <typename CharT, typename... Args>
6126
constexpr scan_arg_store_kind determine_arg_store_kind()
6127
0
{
6128
0
    if constexpr (sizeof...(Args) > max_packed_args) {
6129
0
        return scan_arg_store_kind::unpacked;
6130
0
    }
6131
0
#if !(SCN_CLANG && SCN_APPLE)
6132
0
    // This doesn't work on Apple Clang. I don't know why
6133
0
    if constexpr (all_types_builtin<CharT, Args...>()) {
6134
0
        return scan_arg_store_kind::builtin;
6135
0
    }
6136
0
#endif
6137
0
    return scan_arg_store_kind::packed;
6138
0
}
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, tm>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, scn::v4::tm_with_tz>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, scn::v4::datetime_components>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, tm>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6139
6140
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
6141
constexpr size_t compute_arg_store_desc()
6142
0
{
6143
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
6144
0
        return encode_types<CharT, Args...>();
6145
0
    }
6146
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
6147
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
6148
0
    }
6149
0
    else {
6150
0
        return sizeof...(Args) | is_unpacked_bit;
6151
0
    }
6152
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, char, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, char, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, char, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, wchar_t, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6153
6154
template <typename Context, typename... Args>
6155
class scan_arg_store {
6156
public:
6157
    static constexpr scan_arg_store_kind kind =
6158
        determine_arg_store_kind<typename Context::char_type, Args...>();
6159
    static constexpr size_t desc =
6160
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
6161
6162
    using argptr_type = std::conditional_t<
6163
        kind == scan_arg_store_kind::builtin,
6164
        void*,
6165
        std::conditional_t<kind == scan_arg_store_kind::packed,
6166
                           arg_value,
6167
                           basic_scan_arg<Context>>>;
6168
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
6169
6170
    constexpr explicit scan_arg_store(std::tuple<Args...>& args)
6171
354k
        : args(std::apply(make_argptrs<Args...>, args))
6172
354k
    {
6173
354k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>::scan_arg_store(std::__1::tuple<tm>&)
Line
Count
Source
6171
57.2k
        : args(std::apply(make_argptrs<Args...>, args))
6172
57.2k
    {
6173
57.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>::scan_arg_store(std::__1::tuple<scn::v4::tm_with_tz>&)
Line
Count
Source
6171
57.2k
        : args(std::apply(make_argptrs<Args...>, args))
6172
57.2k
    {
6173
57.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>::scan_arg_store(std::__1::tuple<scn::v4::datetime_components>&)
Line
Count
Source
6171
57.2k
        : args(std::apply(make_argptrs<Args...>, args))
6172
57.2k
    {
6173
57.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>::scan_arg_store(std::__1::tuple<tm>&)
Line
Count
Source
6171
60.7k
        : args(std::apply(make_argptrs<Args...>, args))
6172
60.7k
    {
6173
60.7k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>::scan_arg_store(std::__1::tuple<scn::v4::tm_with_tz>&)
Line
Count
Source
6171
60.7k
        : args(std::apply(make_argptrs<Args...>, args))
6172
60.7k
    {
6173
60.7k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>::scan_arg_store(std::__1::tuple<scn::v4::datetime_components>&)
Line
Count
Source
6171
60.7k
        : args(std::apply(make_argptrs<Args...>, args))
6172
60.7k
    {
6173
60.7k
    }
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::scan_arg_store(std::__1::tuple<double>&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6174
6175
    argptrs_type args;
6176
6177
private:
6178
    template <typename... A>
6179
    static constexpr argptrs_type make_argptrs(A&... args)
6180
354k
    {
6181
354k
        return {detail::make_arg<
6182
354k
            kind, Context,
6183
354k
            mapped_type_constant<remove_cvref_t<A>,
6184
354k
                                 typename Context::char_type>::value>(args)...};
6185
354k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>::make_argptrs<tm>(tm&)
Line
Count
Source
6180
57.2k
    {
6181
57.2k
        return {detail::make_arg<
6182
57.2k
            kind, Context,
6183
57.2k
            mapped_type_constant<remove_cvref_t<A>,
6184
57.2k
                                 typename Context::char_type>::value>(args)...};
6185
57.2k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>::make_argptrs<scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
6180
57.2k
    {
6181
57.2k
        return {detail::make_arg<
6182
57.2k
            kind, Context,
6183
57.2k
            mapped_type_constant<remove_cvref_t<A>,
6184
57.2k
                                 typename Context::char_type>::value>(args)...};
6185
57.2k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>::make_argptrs<scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
6180
57.2k
    {
6181
57.2k
        return {detail::make_arg<
6182
57.2k
            kind, Context,
6183
57.2k
            mapped_type_constant<remove_cvref_t<A>,
6184
57.2k
                                 typename Context::char_type>::value>(args)...};
6185
57.2k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>::make_argptrs<tm>(tm&)
Line
Count
Source
6180
60.7k
    {
6181
60.7k
        return {detail::make_arg<
6182
60.7k
            kind, Context,
6183
60.7k
            mapped_type_constant<remove_cvref_t<A>,
6184
60.7k
                                 typename Context::char_type>::value>(args)...};
6185
60.7k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>::make_argptrs<scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
6180
60.7k
    {
6181
60.7k
        return {detail::make_arg<
6182
60.7k
            kind, Context,
6183
60.7k
            mapped_type_constant<remove_cvref_t<A>,
6184
60.7k
                                 typename Context::char_type>::value>(args)...};
6185
60.7k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>::make_argptrs<scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
6180
60.7k
    {
6181
60.7k
        return {detail::make_arg<
6182
60.7k
            kind, Context,
6183
60.7k
            mapped_type_constant<remove_cvref_t<A>,
6184
60.7k
                                 typename Context::char_type>::value>(args)...};
6185
60.7k
    }
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::make_argptrs<double>(double&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
6186
};
6187
6188
}  // namespace detail
6189
6190
/**
6191
 * Creates a type-erased argument store over the arguments in `values`.
6192
 */
6193
template <typename Context = scan_context, typename... Args>
6194
constexpr auto make_scan_args(std::tuple<Args...>& values)
6195
354k
{
6196
354k
    detail::check_scan_arg_types<Args...>();
6197
354k
    return detail::scan_arg_store<Context, Args...>(values);
6198
354k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>(std::__1::tuple<tm>&)
Line
Count
Source
6195
57.2k
{
6196
57.2k
    detail::check_scan_arg_types<Args...>();
6197
57.2k
    return detail::scan_arg_store<Context, Args...>(values);
6198
57.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>(std::__1::tuple<scn::v4::tm_with_tz>&)
Line
Count
Source
6195
57.2k
{
6196
57.2k
    detail::check_scan_arg_types<Args...>();
6197
57.2k
    return detail::scan_arg_store<Context, Args...>(values);
6198
57.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>(std::__1::tuple<scn::v4::datetime_components>&)
Line
Count
Source
6195
57.2k
{
6196
57.2k
    detail::check_scan_arg_types<Args...>();
6197
57.2k
    return detail::scan_arg_store<Context, Args...>(values);
6198
57.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>(std::__1::tuple<tm>&)
Line
Count
Source
6195
60.7k
{
6196
60.7k
    detail::check_scan_arg_types<Args...>();
6197
60.7k
    return detail::scan_arg_store<Context, Args...>(values);
6198
60.7k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>(std::__1::tuple<scn::v4::tm_with_tz>&)
Line
Count
Source
6195
60.7k
{
6196
60.7k
    detail::check_scan_arg_types<Args...>();
6197
60.7k
    return detail::scan_arg_store<Context, Args...>(values);
6198
60.7k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>(std::__1::tuple<scn::v4::datetime_components>&)
Line
Count
Source
6195
60.7k
{
6196
60.7k
    detail::check_scan_arg_types<Args...>();
6197
60.7k
    return detail::scan_arg_store<Context, Args...>(values);
6198
60.7k
}
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(std::__1::tuple<double>&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6199
6200
template <typename... Args>
6201
constexpr auto make_wscan_args(std::tuple<Args...>& values)
6202
{
6203
    detail::check_scan_arg_types<Args...>();
6204
    return detail::scan_arg_store<wscan_context, Args...>(values);
6205
}
6206
6207
/**
6208
 * A view over a collection of scanning arguments (`scan_arg_store`).
6209
 *
6210
 * Passed to `scn::vscan`, where it's automatically constructed from a
6211
 * `scan_arg_store`.
6212
 */
6213
template <typename Context>
6214
class basic_scan_args {
6215
public:
6216
15.0k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args()
Line
Count
Source
6216
5.00k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args()
Line
Count
Source
6216
10.0k
    constexpr basic_scan_args() = default;
6217
6218
    template <typename... Args>
6219
    SCN_IMPLICIT constexpr basic_scan_args(
6220
        const detail::scan_arg_store<Context, Args...>& store)
6221
354k
        : basic_scan_args(store.desc, store.args.data())
6222
354k
    {
6223
354k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<tm>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm> const&)
Line
Count
Source
6221
57.2k
        : basic_scan_args(store.desc, store.args.data())
6222
57.2k
    {
6223
57.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<scn::v4::tm_with_tz>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz> const&)
Line
Count
Source
6221
57.2k
        : basic_scan_args(store.desc, store.args.data())
6222
57.2k
    {
6223
57.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<scn::v4::datetime_components>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components> const&)
Line
Count
Source
6221
57.2k
        : basic_scan_args(store.desc, store.args.data())
6222
57.2k
    {
6223
57.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<tm>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm> const&)
Line
Count
Source
6221
60.7k
        : basic_scan_args(store.desc, store.args.data())
6222
60.7k
    {
6223
60.7k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<scn::v4::tm_with_tz>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz> const&)
Line
Count
Source
6221
60.7k
        : basic_scan_args(store.desc, store.args.data())
6222
60.7k
    {
6223
60.7k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<scn::v4::datetime_components>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components> const&)
Line
Count
Source
6221
60.7k
        : basic_scan_args(store.desc, store.args.data())
6222
60.7k
    {
6223
60.7k
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double> const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
6224
6225
    /**
6226
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
6227
     * there's no argument at index `id`.
6228
     */
6229
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
6230
354k
    {
6231
354k
        if (SCN_UNLIKELY(!is_packed())) {
6232
0
            if (SCN_LIKELY(id < max_size())) {
6233
0
                return m_args[id];
6234
0
            }
6235
0
            return {};
6236
0
        }
6237
6238
354k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6239
0
            return {};
6240
0
        }
6241
6242
354k
        const auto t = type(id);
6243
354k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6244
0
            return {};
6245
0
        }
6246
6247
354k
        basic_scan_arg<Context> arg;
6248
354k
        arg.m_type = t;
6249
354k
        if (is_only_builtin()) {
6250
0
            arg.m_value.ref_value = m_builtin_values[id];
6251
0
        }
6252
354k
        else {
6253
354k
            arg.m_value = m_values[id];
6254
354k
        }
6255
354k
        return arg;
6256
354k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::get(unsigned long) const
Line
Count
Source
6230
171k
    {
6231
171k
        if (SCN_UNLIKELY(!is_packed())) {
6232
0
            if (SCN_LIKELY(id < max_size())) {
6233
0
                return m_args[id];
6234
0
            }
6235
0
            return {};
6236
0
        }
6237
6238
171k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6239
0
            return {};
6240
0
        }
6241
6242
171k
        const auto t = type(id);
6243
171k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6244
0
            return {};
6245
0
        }
6246
6247
171k
        basic_scan_arg<Context> arg;
6248
171k
        arg.m_type = t;
6249
171k
        if (is_only_builtin()) {
6250
0
            arg.m_value.ref_value = m_builtin_values[id];
6251
0
        }
6252
171k
        else {
6253
171k
            arg.m_value = m_values[id];
6254
171k
        }
6255
171k
        return arg;
6256
171k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::get(unsigned long) const
Line
Count
Source
6230
182k
    {
6231
182k
        if (SCN_UNLIKELY(!is_packed())) {
6232
0
            if (SCN_LIKELY(id < max_size())) {
6233
0
                return m_args[id];
6234
0
            }
6235
0
            return {};
6236
0
        }
6237
6238
182k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6239
0
            return {};
6240
0
        }
6241
6242
182k
        const auto t = type(id);
6243
182k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6244
0
            return {};
6245
0
        }
6246
6247
182k
        basic_scan_arg<Context> arg;
6248
182k
        arg.m_type = t;
6249
182k
        if (is_only_builtin()) {
6250
0
            arg.m_value.ref_value = m_builtin_values[id];
6251
0
        }
6252
182k
        else {
6253
182k
            arg.m_value = m_values[id];
6254
182k
        }
6255
182k
        return arg;
6256
182k
    }
6257
6258
    /**
6259
     * \return Number of arguments in `*this`.
6260
     */
6261
    SCN_NODISCARD constexpr std::size_t size() const
6262
354k
    {
6263
354k
        if (SCN_UNLIKELY(!is_packed())) {
6264
0
            return max_size();
6265
0
        }
6266
6267
354k
        return static_cast<std::size_t>(m_desc &
6268
354k
                                        ((1 << detail::packed_arg_bits) - 1));
6269
354k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::size() const
Line
Count
Source
6262
171k
    {
6263
171k
        if (SCN_UNLIKELY(!is_packed())) {
6264
0
            return max_size();
6265
0
        }
6266
6267
171k
        return static_cast<std::size_t>(m_desc &
6268
171k
                                        ((1 << detail::packed_arg_bits) - 1));
6269
171k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::size() const
Line
Count
Source
6262
182k
    {
6263
182k
        if (SCN_UNLIKELY(!is_packed())) {
6264
0
            return max_size();
6265
0
        }
6266
6267
182k
        return static_cast<std::size_t>(m_desc &
6268
182k
                                        ((1 << detail::packed_arg_bits) - 1));
6269
182k
    }
6270
6271
private:
6272
    constexpr explicit basic_scan_args(size_t desc, void* const* data)
6273
0
        : m_desc(desc), m_builtin_values(data)
6274
0
    {
6275
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, void* const*)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, void* const*)
6276
    constexpr explicit basic_scan_args(size_t desc,
6277
                                       const detail::arg_value* data)
6278
354k
        : m_desc(desc), m_values(data)
6279
354k
    {
6280
354k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, scn::v4::detail::arg_value const*)
Line
Count
Source
6278
171k
        : m_desc(desc), m_values(data)
6279
171k
    {
6280
171k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, scn::v4::detail::arg_value const*)
Line
Count
Source
6278
182k
        : m_desc(desc), m_values(data)
6279
182k
    {
6280
182k
    }
6281
    constexpr explicit basic_scan_args(size_t desc,
6282
                                       const basic_scan_arg<Context>* data)
6283
        : m_desc(desc), m_args(data)
6284
    {
6285
    }
6286
6287
    SCN_NODISCARD constexpr bool is_packed() const
6288
708k
    {
6289
708k
        return (m_desc & detail::is_unpacked_bit) == 0;
6290
708k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_packed() const
Line
Count
Source
6288
343k
    {
6289
343k
        return (m_desc & detail::is_unpacked_bit) == 0;
6290
343k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_packed() const
Line
Count
Source
6288
364k
    {
6289
364k
        return (m_desc & detail::is_unpacked_bit) == 0;
6290
364k
    }
6291
    SCN_NODISCARD constexpr bool is_only_builtin() const
6292
354k
    {
6293
354k
        return (m_desc & detail::has_custom_types_bit) == 0;
6294
354k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_only_builtin() const
Line
Count
Source
6292
171k
    {
6293
171k
        return (m_desc & detail::has_custom_types_bit) == 0;
6294
171k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_only_builtin() const
Line
Count
Source
6292
182k
    {
6293
182k
        return (m_desc & detail::has_custom_types_bit) == 0;
6294
182k
    }
6295
6296
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
6297
354k
    {
6298
        // First (0th) index is size, types start after that
6299
354k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6300
354k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6301
354k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6302
354k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::type(unsigned long) const
Line
Count
Source
6297
171k
    {
6298
        // First (0th) index is size, types start after that
6299
171k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6300
171k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6301
171k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6302
171k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::type(unsigned long) const
Line
Count
Source
6297
182k
    {
6298
        // First (0th) index is size, types start after that
6299
182k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6300
182k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6301
182k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6302
182k
    }
6303
6304
    SCN_NODISCARD constexpr std::size_t max_size() const
6305
0
    {
6306
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
6307
0
                                       : (m_desc & ~detail::is_unpacked_bit &
6308
0
                                          ~detail::has_custom_types_bit);
6309
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::max_size() const
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::max_size() const
6310
6311
    size_t m_desc{0};
6312
    union {
6313
        void* const* m_builtin_values;
6314
        const detail::arg_value* m_values;
6315
        const basic_scan_arg<Context>* m_args{nullptr};
6316
    };
6317
};
6318
6319
/////////////////////////////////////////////////////////////////
6320
// scan_parse_context
6321
/////////////////////////////////////////////////////////////////
6322
6323
template <typename T>
6324
struct source_tag_type {
6325
    using type = T;
6326
};
6327
template <typename T>
6328
inline constexpr auto source_tag = source_tag_type<T>{};
6329
6330
/**
6331
 * Format string parsing context, wrapping the format string being parsed,
6332
 * and a counter for argument indexing.
6333
 *
6334
 * \ingroup ctx
6335
 */
6336
template <typename CharT>
6337
class basic_scan_parse_context {
6338
public:
6339
    using char_type = CharT;
6340
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
6341
    using const_iterator = iterator;
6342
6343
    /**
6344
     * Construct a `basic_scan_parse_context` over a format string `format`.
6345
     */
6346
    [[deprecated(
6347
        "Use the source_tag constructor instead,"
6348
        "to get more compile-time checking")]]
6349
    explicit constexpr basic_scan_parse_context(
6350
        std::basic_string_view<CharT> format,
6351
        int next_arg_id = 0)
6352
        : m_format{format}, m_next_arg_id{next_arg_id}
6353
    {
6354
    }
6355
6356
    template <typename Source>
6357
    explicit constexpr basic_scan_parse_context(
6358
        source_tag_type<Source>,
6359
        std::basic_string_view<CharT> format,
6360
        int next_arg_id = 0)
6361
369k
        : m_format{format},
6362
369k
          m_next_arg_id{next_arg_id},
6363
369k
          m_is_contiguous(ranges::range<Source> &&
6364
369k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
369k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
369k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
369k
    {
6369
369k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6361
2.50k
        : m_format{format},
6362
2.50k
          m_next_arg_id{next_arg_id},
6363
2.50k
          m_is_contiguous(ranges::range<Source> &&
6364
2.50k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
2.50k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
2.50k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
2.50k
    {
6369
2.50k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6361
2.50k
        : m_format{format},
6362
2.50k
          m_next_arg_id{next_arg_id},
6363
2.50k
          m_is_contiguous(ranges::range<Source> &&
6364
2.50k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
2.50k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
2.50k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
2.50k
    {
6369
2.50k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6361
77.7k
        : m_format{format},
6362
77.7k
          m_next_arg_id{next_arg_id},
6363
77.7k
          m_is_contiguous(ranges::range<Source> &&
6364
77.7k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
77.7k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
77.7k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
77.7k
    {
6369
77.7k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<char>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<char>&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6361
94.1k
        : m_format{format},
6362
94.1k
          m_next_arg_id{next_arg_id},
6363
94.1k
          m_is_contiguous(ranges::range<Source> &&
6364
94.1k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
94.1k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
94.1k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
94.1k
    {
6369
94.1k
    }
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6361
5.00k
        : m_format{format},
6362
5.00k
          m_next_arg_id{next_arg_id},
6363
5.00k
          m_is_contiguous(ranges::range<Source> &&
6364
5.00k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
5.00k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
5.00k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
5.00k
    {
6369
5.00k
    }
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6361
91.1k
        : m_format{format},
6362
91.1k
          m_next_arg_id{next_arg_id},
6363
91.1k
          m_is_contiguous(ranges::range<Source> &&
6364
91.1k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
91.1k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
91.1k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
91.1k
    {
6369
91.1k
    }
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6361
5.00k
        : m_format{format},
6362
5.00k
          m_next_arg_id{next_arg_id},
6363
5.00k
          m_is_contiguous(ranges::range<Source> &&
6364
5.00k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
5.00k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
5.00k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
5.00k
    {
6369
5.00k
    }
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<wchar_t>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<wchar_t>&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6361
91.1k
        : m_format{format},
6362
91.1k
          m_next_arg_id{next_arg_id},
6363
91.1k
          m_is_contiguous(ranges::range<Source> &&
6364
91.1k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
91.1k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
91.1k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
91.1k
    {
6369
91.1k
    }
6370
6371
    basic_scan_parse_context(const basic_scan_parse_context&) = delete;
6372
    basic_scan_parse_context& operator=(const basic_scan_parse_context&) =
6373
        delete;
6374
    basic_scan_parse_context(basic_scan_parse_context&&) = delete;
6375
    basic_scan_parse_context& operator=(basic_scan_parse_context&&) = delete;
6376
    ~basic_scan_parse_context() = default;
6377
6378
    /// Returns an iterator pointing to the beginning of the format string
6379
    constexpr auto begin() const noexcept
6380
1.80M
    {
6381
1.80M
        return m_format.data();
6382
1.80M
    }
scn::v4::basic_scan_parse_context<char>::begin() const
Line
Count
Source
6380
869k
    {
6381
869k
        return m_format.data();
6382
869k
    }
scn::v4::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
6380
931k
    {
6381
931k
        return m_format.data();
6382
931k
    }
6383
    /// Returns an iterator pointing to the end of the format string
6384
    constexpr auto end() const noexcept
6385
369k
    {
6386
369k
        return m_format.data() + m_format.size();
6387
369k
    }
scn::v4::basic_scan_parse_context<char>::end() const
Line
Count
Source
6385
176k
    {
6386
176k
        return m_format.data() + m_format.size();
6387
176k
    }
scn::v4::basic_scan_parse_context<wchar_t>::end() const
Line
Count
Source
6385
192k
    {
6386
192k
        return m_format.data() + m_format.size();
6387
192k
    }
6388
6389
    /// Advance the beginning of the format string to `it`
6390
    constexpr void advance_to(iterator it)
6391
708k
    {
6392
708k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6393
708k
    }
scn::v4::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
6391
343k
    {
6392
343k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6393
343k
    }
scn::v4::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
6391
364k
    {
6392
364k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6393
364k
    }
6394
6395
    constexpr size_t next_arg_id()
6396
354k
    {
6397
354k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6398
0
            on_error(
6399
0
                "Cannot switch from manual to automatic argument indexing");
6400
0
            return 0;
6401
0
        }
6402
6403
354k
        auto id = static_cast<size_t>(m_next_arg_id++);
6404
354k
        do_check_arg_id(id);
6405
354k
        return id;
6406
354k
    }
scn::v4::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
6396
171k
    {
6397
171k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6398
0
            on_error(
6399
0
                "Cannot switch from manual to automatic argument indexing");
6400
0
            return 0;
6401
0
        }
6402
6403
171k
        auto id = static_cast<size_t>(m_next_arg_id++);
6404
171k
        do_check_arg_id(id);
6405
171k
        return id;
6406
171k
    }
scn::v4::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
6396
182k
    {
6397
182k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6398
0
            on_error(
6399
0
                "Cannot switch from manual to automatic argument indexing");
6400
0
            return 0;
6401
0
        }
6402
6403
182k
        auto id = static_cast<size_t>(m_next_arg_id++);
6404
182k
        do_check_arg_id(id);
6405
182k
        return id;
6406
182k
    }
6407
6408
    constexpr void check_arg_id(std::size_t id)
6409
0
    {
6410
0
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6411
0
            on_error(
6412
0
                "Cannot switch from manual to automatic argument indexing");
6413
0
            return;
6414
0
        }
6415
0
        m_next_arg_id = -1;
6416
0
        do_check_arg_id(id);
6417
0
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
6418
6419
    /**
6420
     * Fail format string parsing with the message `msg`.
6421
     * Calling this member function is not a constant expression,
6422
     * causing a compile-time error, if compile-time format string checking is
6423
     * enabled.
6424
     */
6425
    scan_error on_error(const char* msg)
6426
15.0k
    {
6427
15.0k
        m_error = unexpected(detail::handle_error(
6428
15.0k
            scan_error{scan_error::invalid_format_string, msg}));
6429
15.0k
        return m_error.error();
6430
15.0k
    }
scn::v4::basic_scan_parse_context<char>::on_error(char const*)
Line
Count
Source
6426
5.00k
    {
6427
5.00k
        m_error = unexpected(detail::handle_error(
6428
5.00k
            scan_error{scan_error::invalid_format_string, msg}));
6429
5.00k
        return m_error.error();
6430
5.00k
    }
scn::v4::basic_scan_parse_context<wchar_t>::on_error(char const*)
Line
Count
Source
6426
10.0k
    {
6427
10.0k
        m_error = unexpected(detail::handle_error(
6428
10.0k
            scan_error{scan_error::invalid_format_string, msg}));
6429
10.0k
        return m_error.error();
6430
10.0k
    }
6431
6432
    scan_expected<void> get_error()
6433
369k
    {
6434
369k
        return m_error;
6435
369k
    }
scn::v4::basic_scan_parse_context<char>::get_error()
Line
Count
Source
6433
176k
    {
6434
176k
        return m_error;
6435
176k
    }
scn::v4::basic_scan_parse_context<wchar_t>::get_error()
Line
Count
Source
6433
192k
    {
6434
192k
        return m_error;
6435
192k
    }
6436
6437
    [[nodiscard]] constexpr bool is_source_contiguous() const
6438
    {
6439
        return m_is_contiguous;
6440
    }
6441
6442
    [[nodiscard]] constexpr bool is_source_borrowed() const
6443
    {
6444
        return m_is_borrowed;
6445
    }
6446
6447
protected:
6448
    constexpr void do_check_arg_id(size_t id);
6449
6450
    std::basic_string_view<CharT> m_format;
6451
    scan_expected<void> m_error{};
6452
    int m_next_arg_id{0};
6453
    bool m_is_contiguous{false}, m_is_borrowed{false};
6454
};
6455
6456
/////////////////////////////////////////////////////////////////
6457
// Result types
6458
/////////////////////////////////////////////////////////////////
6459
6460
namespace detail {
6461
template <typename... Args>
6462
struct scan_result_value_storage {
6463
public:
6464
    using tuple_type = std::tuple<Args...>;
6465
6466
369k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<tm>::scan_result_value_storage()
Line
Count
Source
6466
123k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<scn::v4::tm_with_tz>::scan_result_value_storage()
Line
Count
Source
6466
123k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<scn::v4::datetime_components>::scan_result_value_storage()
Line
Count
Source
6466
123k
    constexpr scan_result_value_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::scan_result_value_storage()
6467
6468
    constexpr scan_result_value_storage(tuple_type&& values)
6469
        : m_values(SCN_MOVE(values))
6470
    {
6471
    }
6472
6473
    /// Access the scanned values
6474
    tuple_type& values() &
6475
354k
    {
6476
354k
        return m_values;
6477
354k
    }
scn::v4::detail::scan_result_value_storage<tm>::values() &
Line
Count
Source
6475
118k
    {
6476
118k
        return m_values;
6477
118k
    }
scn::v4::detail::scan_result_value_storage<scn::v4::tm_with_tz>::values() &
Line
Count
Source
6475
118k
    {
6476
118k
        return m_values;
6477
118k
    }
scn::v4::detail::scan_result_value_storage<scn::v4::datetime_components>::values() &
Line
Count
Source
6475
118k
    {
6476
118k
        return m_values;
6477
118k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::values() &
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::values() &
6478
    /// Access the scanned values
6479
    const tuple_type& values() const&
6480
    {
6481
        return m_values;
6482
    }
6483
    /// Access the scanned values
6484
    tuple_type&& values() &&
6485
    {
6486
        return SCN_MOVE(m_values);
6487
    }
6488
    /// Access the scanned values
6489
    const tuple_type&& values() const&&
6490
    {
6491
        return SCN_MOVE(m_values);
6492
    }
6493
6494
    /// Access the single scanned value
6495
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6496
    decltype(auto) value() &
6497
15.0k
    {
6498
15.0k
        return std::get<0>(m_values);
6499
15.0k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJ2tmEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6497
5.00k
    {
6498
5.00k
        return std::get<0>(m_values);
6499
5.00k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJNS0_10tm_with_tzEEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6497
5.00k
    {
6498
5.00k
        return std::get<0>(m_values);
6499
5.00k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJNS0_19datetime_componentsEEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6497
5.00k
    {
6498
5.00k
        return std::get<0>(m_values);
6499
5.00k
    }
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEE5valueILm1ETnPNS3_9enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJdEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
6500
    /// Access the single scanned value
6501
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6502
    decltype(auto) value() const&
6503
    {
6504
        return std::get<0>(m_values);
6505
    }
6506
    /// Access the single scanned value
6507
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6508
    decltype(auto) value() &&
6509
    {
6510
        return SCN_MOVE(std::get<0>(m_values));
6511
    }
6512
    /// Access the single scanned value
6513
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6514
    decltype(auto) value() const&&
6515
    {
6516
        return SCN_MOVE(std::get<0>(m_values));
6517
    }
6518
6519
private:
6520
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
6521
};
6522
6523
struct scan_result_convert_tag {};
6524
6525
template <typename Range>
6526
struct scan_result_range_storage {
6527
    static_assert(is_specialization_of_v<Range, ranges::subrange>,
6528
                  "scan_result<Range> accepts only subranges as Ranges");
6529
6530
public:
6531
    using range_type = Range;
6532
    using iterator = ranges::iterator_t<Range>;
6533
    using sentinel = ranges::sentinel_t<Range>;
6534
6535
369k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage()
Line
Count
Source
6535
80.2k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage()
Line
Count
Source
6535
96.6k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage()
Line
Count
Source
6535
96.1k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage()
Line
Count
Source
6535
96.1k
    constexpr scan_result_range_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
6536
6537
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
6538
    {
6539
    }
6540
6541
    template <typename R>
6542
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
6543
        : m_range(SCN_MOVE(r))
6544
    {
6545
    }
6546
6547
    /// Access the ununsed source range
6548
    range_type range() const
6549
    {
6550
        return m_range;
6551
    }
6552
6553
    /// The beginning of the unused source range
6554
    auto begin() const
6555
144k
    {
6556
144k
        return ranges::begin(m_range);
6557
144k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
6555
42.6k
    {
6556
42.6k
        return ranges::begin(m_range);
6557
42.6k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const
Line
Count
Source
6555
59.1k
    {
6556
59.1k
        return ranges::begin(m_range);
6557
59.1k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
6555
21.1k
    {
6556
21.1k
        return ranges::begin(m_range);
6557
21.1k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const
Line
Count
Source
6555
21.1k
    {
6556
21.1k
        return ranges::begin(m_range);
6557
21.1k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::begin() const
6558
    /// The end of the unused source range
6559
    auto end() const
6560
0
    {
6561
0
        return ranges::end(m_range);
6562
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
6563
6564
    template <typename Other>
6565
    void set_range(Other&& r)
6566
144k
    {
6567
144k
        m_range = std::forward<Other>(r);
6568
144k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
6566
42.6k
    {
6567
42.6k
        m_range = std::forward<Other>(r);
6568
42.6k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
6566
59.1k
    {
6567
59.1k
        m_range = std::forward<Other>(r);
6568
59.1k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
6566
21.1k
    {
6567
21.1k
        m_range = std::forward<Other>(r);
6568
21.1k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
6566
21.1k
    {
6567
21.1k
        m_range = std::forward<Other>(r);
6568
21.1k
    }
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
6569
6570
protected:
6571
    template <typename Other>
6572
    void assign_range(Other&& r)
6573
    {
6574
        m_range = r.m_range;
6575
    }
6576
6577
private:
6578
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
6579
};
6580
6581
struct scan_result_file_storage {
6582
public:
6583
    using range_type = std::FILE*;
6584
6585
    constexpr scan_result_file_storage() = default;
6586
6587
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
6588
6589
    /// File used for scanning
6590
    std::FILE* file() const
6591
0
    {
6592
0
        return m_file;
6593
0
    }
6594
6595
    void set_range(std::FILE* f)
6596
0
    {
6597
0
        m_file = f;
6598
0
    }
6599
6600
protected:
6601
    void assign_range(const scan_result_file_storage& f)
6602
0
    {
6603
0
        m_file = f.m_file;
6604
0
    }
6605
6606
private:
6607
    std::FILE* m_file{nullptr};
6608
};
6609
6610
struct scan_result_dangling {
6611
    using range_type = ranges::dangling;
6612
6613
    constexpr scan_result_dangling() = default;
6614
6615
    template <typename... Args>
6616
    explicit constexpr scan_result_dangling(Args&&...)
6617
    {
6618
    }
6619
6620
    range_type range() const
6621
0
    {
6622
0
        return {};
6623
0
    }
6624
6625
    ranges::dangling begin() const
6626
0
    {
6627
0
        return {};
6628
0
    }
6629
    ranges::dangling end() const
6630
0
    {
6631
0
        return {};
6632
0
    }
6633
6634
    template <typename... Args>
6635
    void set_range(Args&&...)
6636
    {
6637
    }
6638
6639
protected:
6640
    template <typename... Args>
6641
    void assign_range(Args&&...)
6642
    {
6643
    }
6644
};
6645
6646
template <typename Range>
6647
constexpr auto get_scan_result_base()
6648
0
{
6649
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
6650
0
        return type_identity<scan_result_dangling>{};
6651
0
    }
6652
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
6653
0
        return type_identity<scan_result_file_storage>{};
6654
0
    }
6655
0
    else {
6656
0
        return type_identity<scan_result_range_storage<Range>>{};
6657
0
    }
6658
0
}
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
6659
6660
#if !SCN_DOXYGEN
6661
template <typename Range>
6662
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
6663
#else
6664
template <typename Range>
6665
using scan_result_base = scan_result_range_storage<Range>;
6666
#endif
6667
}  // namespace detail
6668
6669
/**
6670
 * \defgroup result Result types
6671
 *
6672
 * \brief Result and error types
6673
 *
6674
 * Instead of using exceptions, `scn::scan` and others return an object of
6675
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
6676
 */
6677
6678
/**
6679
 * Type returned by `scan`, contains the unused input as a subrange, and the
6680
 * scanned values in a tuple.
6681
 */
6682
template <typename Range, typename... Args>
6683
class scan_result : public detail::scan_result_base<Range>,
6684
                    public detail::scan_result_value_storage<Args...> {
6685
    using range_base = detail::scan_result_base<Range>;
6686
    using value_base = detail::scan_result_value_storage<Args...>;
6687
6688
public:
6689
    using range_type = typename range_base::range_type;
6690
    using tuple_type = typename value_base::tuple_type;
6691
6692
369k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>::scan_result()
Line
Count
Source
6692
26.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::scan_result()
Line
Count
Source
6692
26.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::scan_result()
Line
Count
Source
6692
26.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>::scan_result()
Line
Count
Source
6692
32.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::scan_result()
Line
Count
Source
6692
32.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::scan_result()
Line
Count
Source
6692
32.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>::scan_result()
Line
Count
Source
6692
32.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::scan_result()
Line
Count
Source
6692
32.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::scan_result()
Line
Count
Source
6692
32.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>::scan_result()
Line
Count
Source
6692
32.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::scan_result()
Line
Count
Source
6692
32.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::scan_result()
Line
Count
Source
6692
32.0k
    constexpr scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
6693
6694
    constexpr scan_result(const scan_result&) = default;
6695
0
    constexpr scan_result(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6696
    constexpr scan_result& operator=(const scan_result&) = default;
6697
0
    constexpr scan_result& operator=(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6698
6699
246k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::~scan_result()
Line
Count
Source
6699
26.7k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::~scan_result()
Line
Count
Source
6699
26.7k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::~scan_result()
Line
Count
Source
6699
32.2k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::~scan_result()
Line
Count
Source
6699
32.2k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::~scan_result()
Line
Count
Source
6699
32.0k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::~scan_result()
Line
Count
Source
6699
32.0k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::~scan_result()
Line
Count
Source
6699
32.0k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::~scan_result()
Line
Count
Source
6699
32.0k
    ~scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
6700
6701
    scan_result(range_type r, tuple_type&& values)
6702
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
6703
    {
6704
    }
6705
6706
    template <typename OtherR,
6707
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
6708
                  nullptr>
6709
    scan_result(OtherR&& r, tuple_type&& values)
6710
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
6711
          value_base(SCN_MOVE(values))
6712
    {
6713
    }
6714
6715
    template <typename OtherR,
6716
              std::enable_if_t<
6717
                  std::is_constructible_v<range_type, OtherR> &&
6718
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6719
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
6720
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6721
          value_base(o.values())
6722
    {
6723
    }
6724
    template <typename OtherR,
6725
              std::enable_if_t<
6726
                  std::is_constructible_v<range_type, OtherR> &&
6727
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6728
    explicit scan_result(const scan_result<OtherR, Args...>& o)
6729
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6730
          value_base(o.values())
6731
    {
6732
    }
6733
6734
    template <typename OtherR,
6735
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6736
                               std::is_convertible_v<OtherR&&, range_type>>* =
6737
                  nullptr>
6738
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
6739
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6740
          value_base(SCN_MOVE(o.values()))
6741
    {
6742
    }
6743
    template <typename OtherR,
6744
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6745
                               !std::is_convertible_v<OtherR&&, range_type>>* =
6746
                  nullptr>
6747
    explicit scan_result(scan_result<OtherR, Args...>&& o)
6748
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6749
          value_base(SCN_MOVE(o.values()))
6750
    {
6751
    }
6752
6753
    template <typename OtherR,
6754
              typename =
6755
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6756
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
6757
    {
6758
        this->assign_range(o);
6759
        this->values() = o.values();
6760
        return *this;
6761
    }
6762
6763
    template <typename OtherR,
6764
              typename =
6765
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6766
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
6767
    {
6768
        this->assign_range(o);
6769
        this->values() = SCN_MOVE(o.values());
6770
        return *this;
6771
    }
6772
};
6773
6774
template <typename R, typename... Args>
6775
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
6776
template <typename R, typename Ctx, typename... Args>
6777
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
6778
    -> scan_result<R, Args...>;
6779
6780
namespace detail {
6781
template <typename SourceRange>
6782
auto make_vscan_result_range_end(SourceRange& source)
6783
144k
{
6784
144k
    return ranges::end(source);
6785
144k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
6783
42.6k
{
6784
42.6k
    return ranges::end(source);
6785
42.6k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&)
Line
Count
Source
6783
59.1k
{
6784
59.1k
    return ranges::end(source);
6785
59.1k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
Line
Count
Source
6783
21.1k
{
6784
21.1k
    return ranges::end(source);
6785
21.1k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&)
Line
Count
Source
6783
21.1k
{
6784
21.1k
    return ranges::end(source);
6785
21.1k
}
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
6786
template <typename CharT, size_t N>
6787
auto make_vscan_result_range_end(CharT (&source)[N])
6788
    -> ranges::sentinel_t<CharT (&)[N]>
6789
{
6790
    return source + N - 1;
6791
}
6792
6793
template <typename SourceRange>
6794
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
6795
    -> borrowed_tail_subrange_t<SourceRange>
6796
144k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
144k
                      ranges::iterator_t<SourceRange>>) {
6799
144k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
0
    else {
6802
0
        auto it = ranges::begin(source);
6803
0
        while (n > 0) {
6804
0
            --n;
6805
0
            ++it;
6806
0
        }
6807
0
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
0
    }
6809
144k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6796
42.6k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
42.6k
                      ranges::iterator_t<SourceRange>>) {
6799
42.6k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
42.6k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6796
59.1k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
59.1k
                      ranges::iterator_t<SourceRange>>) {
6799
59.1k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
59.1k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6796
21.1k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
21.1k
                      ranges::iterator_t<SourceRange>>) {
6799
21.1k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
21.1k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6796
21.1k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
21.1k
                      ranges::iterator_t<SourceRange>>) {
6799
21.1k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
21.1k
}
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISC_EEE4typeEOSC_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
6810
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
6811
0
{
6812
0
    return source;
6813
0
}
6814
}  // namespace detail
6815
6816
/////////////////////////////////////////////////////////////////
6817
// Format string parsing
6818
/////////////////////////////////////////////////////////////////
6819
6820
namespace detail {
6821
/// Parse context with extra data used only for compile-time checks
6822
template <typename CharT>
6823
class compile_parse_context : public basic_scan_parse_context<CharT> {
6824
    using base = basic_scan_parse_context<CharT>;
6825
6826
public:
6827
    template <typename Source>
6828
    explicit constexpr compile_parse_context(
6829
        source_tag_type<Source>,
6830
        std::basic_string_view<CharT> format_str,
6831
        int num_args,
6832
        const arg_type* types,
6833
        int next_arg_id = 0)
6834
        : base(source_tag<Source>, format_str, next_arg_id),
6835
          m_num_args(num_args),
6836
          m_types(types)
6837
    {
6838
    }
6839
6840
    SCN_NODISCARD constexpr int get_num_args() const
6841
0
    {
6842
0
        return m_num_args;
6843
0
    }
Unexecuted instantiation: scn::v4::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v4::detail::compile_parse_context<wchar_t>::get_num_args() const
6844
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
6845
    {
6846
        return m_types[id];
6847
    }
6848
6849
    SCN_GCC_PUSH
6850
    SCN_GCC_IGNORE("-Wsign-conversion")
6851
6852
    constexpr std::size_t next_arg_id()
6853
    {
6854
        auto id = base::next_arg_id();
6855
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6856
            this->on_error("Argument not found");
6857
        }
6858
        return id;
6859
    }
6860
6861
    constexpr void check_arg_id(std::size_t id)
6862
    {
6863
        base::check_arg_id(id);
6864
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6865
            this->on_error("Argument not found");
6866
        }
6867
    }
6868
    using base::check_arg_id;
6869
6870
private:
6871
    int m_num_args;
6872
    const arg_type* m_types;
6873
6874
    SCN_GCC_POP  // -Wsign-conversion
6875
};
6876
6877
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6878
0
{
6879
0
#ifdef __cpp_lib_is_constant_evaluated
6880
0
    SCN_UNUSED(default_value);
6881
0
    return std::is_constant_evaluated();
6882
0
#else
6883
0
    return default_value;
6884
0
#endif
6885
0
}
6886
}  // namespace detail
6887
6888
template <typename CharT>
6889
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6890
354k
{
6891
354k
    if (detail::is_constant_evaluated() &&
6892
354k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6893
        // The cast below will cause an error on gcc pre-12
6894
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6895
0
        if (static_cast<int>(id) >=
6896
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6897
0
            SCN_UNLIKELY_ATTR
6898
0
            on_error("Argument not found");
6899
0
        }
6900
0
    }
6901
354k
}
scn::v4::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6890
171k
{
6891
171k
    if (detail::is_constant_evaluated() &&
6892
171k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6893
        // The cast below will cause an error on gcc pre-12
6894
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6895
0
        if (static_cast<int>(id) >=
6896
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6897
0
            SCN_UNLIKELY_ATTR
6898
0
            on_error("Argument not found");
6899
0
        }
6900
0
    }
6901
171k
}
scn::v4::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6890
182k
{
6891
182k
    if (detail::is_constant_evaluated() &&
6892
182k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6893
        // The cast below will cause an error on gcc pre-12
6894
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6895
0
        if (static_cast<int>(id) >=
6896
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6897
0
            SCN_UNLIKELY_ATTR
6898
0
            on_error("Argument not found");
6899
0
        }
6900
0
    }
6901
182k
}
6902
6903
namespace detail {
6904
enum class align_type : unsigned char {
6905
    none = 0,
6906
    left = 1,   // '<'
6907
    right = 2,  // '>'
6908
    center = 3  // '^'
6909
};
6910
6911
enum class presentation_type {
6912
    none,
6913
    int_binary,            // 'b', 'B'
6914
    int_decimal,           // 'd'
6915
    int_generic,           // 'i'
6916
    int_unsigned_decimal,  // 'u'
6917
    int_octal,             // 'o'
6918
    int_hex,               // 'x', 'X'
6919
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6920
    float_hex,             // 'a', 'A'
6921
    float_scientific,      // 'e', 'E'
6922
    float_fixed,           // 'f', 'F'
6923
    float_general,         // 'g', 'G'
6924
    string,                // 's'
6925
    string_set,            // '[...]'
6926
    regex,                 // '/.../.'
6927
    regex_escaped,         // '/..\/../.'
6928
    character,             // 'c'
6929
    escaped_character,     // '?'
6930
    pointer,               // 'p'
6931
};
6932
6933
enum class regex_flags {
6934
    none = 0,
6935
    multiline = 1,   // /m
6936
    singleline = 2,  // /s
6937
    nocase = 4,      // /i
6938
    nocapture = 8,   // /n
6939
    // TODO?
6940
    // would probably need to go hand-in-hand with locale,
6941
    // where it could even be the default/only option -> no flag?
6942
    // why else would you even use locale with a regex?
6943
    // collate = 16,
6944
};
6945
6946
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6947
0
{
6948
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6949
0
                                    static_cast<unsigned>(b));
6950
0
}
6951
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6952
0
{
6953
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6954
0
                                    static_cast<unsigned>(b));
6955
0
}
6956
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6957
0
{
6958
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6959
0
                                    static_cast<unsigned>(b));
6960
0
}
6961
6962
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6963
0
{
6964
0
    return a = a & b;
6965
0
}
6966
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6967
0
{
6968
0
    return a = a | b;
6969
0
}
6970
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6971
0
{
6972
0
    return a = a ^ b;
6973
0
}
6974
6975
class fill_type {
6976
public:
6977
    constexpr void operator=(char c)
6978
0
    {
6979
0
        m_data[0] = c;
6980
0
        m_size = 1;
6981
0
    }
6982
6983
    template <typename CharT>
6984
    constexpr void operator=(std::basic_string_view<CharT> s)
6985
0
    {
6986
0
        SCN_EXPECT(!s.empty());
6987
0
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6988
0
        if constexpr (sizeof(CharT) == 1) {
6989
0
            for (size_t i = 0; i < s.size(); ++i) {
6990
0
                SCN_GCC_PUSH
6991
0
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6992
0
                m_data[i] = s[i];
6993
0
                SCN_GCC_POP
6994
0
            }
6995
0
            m_size = static_cast<unsigned char>(s.size());
6996
        }
6997
        else if constexpr (sizeof(CharT) == 2) {
6998
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6999
            m_data[1] =
7000
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
7001
            if (s.size() == 1) {
7002
                return;
7003
            }
7004
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
7005
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
7006
        }
7007
0
        else {
7008
0
            const auto front = static_cast<unsigned>(s.front());
7009
0
            m_data[0] = static_cast<char>(front);
7010
0
            m_data[1] = static_cast<char>(front >> 8);
7011
0
            m_data[2] = static_cast<char>(front >> 16);
7012
0
            m_data[3] = static_cast<char>(front >> 24);
7013
0
        }
7014
0
    }
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7015
7016
    constexpr size_t size() const
7017
0
    {
7018
0
        return m_size;
7019
0
    }
7020
7021
    template <typename CharT>
7022
    CharT get_code_unit() const
7023
0
    {
7024
0
        SCN_EXPECT(m_size <= sizeof(CharT));
7025
0
        CharT r{};
7026
0
        std::memcpy(&r, m_data, m_size);
7027
0
        return r;
7028
0
    }
Unexecuted instantiation: char scn::v4::detail::fill_type::get_code_unit<char>() const
Unexecuted instantiation: wchar_t scn::v4::detail::fill_type::get_code_unit<wchar_t>() const
7029
7030
    template <typename CharT>
7031
    std::basic_string_view<CharT> get_code_units() const
7032
0
    {
7033
0
        return {reinterpret_cast<const CharT*>(m_data), m_size};
7034
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::fill_type::get_code_units<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::fill_type::get_code_units<wchar_t>() const
7035
7036
private:
7037
    static constexpr size_t max_size = 4;
7038
    char m_data[max_size] = {' '};
7039
    unsigned char m_size{1};
7040
};
7041
7042
struct format_specs {
7043
    int width{0}, precision{0};
7044
    fill_type fill{};
7045
    presentation_type type{presentation_type::none};
7046
    std::array<uint8_t, 128 / 8> charset_literals{0};
7047
    bool charset_has_nonascii{false}, charset_is_inverted{false};
7048
    const void* charset_string_data{nullptr};
7049
    size_t charset_string_size{0};
7050
    regex_flags regexp_flags{regex_flags::none};
7051
    unsigned char arbitrary_base{0};
7052
    align_type align{align_type::none};
7053
    bool localized{false};
7054
7055
    constexpr format_specs() = default;
7056
7057
    SCN_NODISCARD constexpr int get_base() const
7058
0
    {
7059
0
        SCN_GCC_COMPAT_PUSH
7060
0
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
7061
0
        switch (type) {
7062
0
            case presentation_type::none:
7063
0
                return 10;
7064
0
            case presentation_type::int_generic:
7065
0
                return 0;
7066
0
            case presentation_type::int_arbitrary_base:
7067
0
                return arbitrary_base;
7068
7069
0
            case presentation_type::int_binary:
7070
0
                return 2;
7071
0
            case presentation_type::int_octal:
7072
0
                return 8;
7073
0
            case presentation_type::int_decimal:
7074
0
            case presentation_type::int_unsigned_decimal:
7075
0
                return 10;
7076
0
            case presentation_type::int_hex:
7077
0
                return 16;
7078
7079
0
            default:
7080
0
                SCN_EXPECT(false);
7081
0
                SCN_UNREACHABLE;
7082
0
        }
7083
0
        SCN_GCC_COMPAT_POP
7084
0
    }
7085
7086
    template <typename CharT>
7087
    std::basic_string_view<CharT> charset_string() const
7088
0
    {
7089
0
        return {reinterpret_cast<const CharT*>(charset_string_data),
7090
0
                charset_string_size};
7091
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::format_specs::charset_string<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::format_specs::charset_string<wchar_t>() const
7092
};
7093
7094
struct specs_setter {
7095
public:
7096
0
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
7097
7098
    constexpr void on_align(align_type align)
7099
0
    {
7100
0
        m_specs.align = align;
7101
0
    }
7102
    template <typename CharT>
7103
    constexpr void on_fill(std::basic_string_view<CharT> fill)
7104
0
    {
7105
0
        m_specs.fill = fill;
7106
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7107
    template <bool Dependent = true>
7108
    constexpr void on_localized()
7109
0
    {
7110
0
        if constexpr (!SCN_DISABLE_LOCALE) {
7111
0
            m_specs.localized = true;
7112
        }
7113
        else {
7114
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
7115
        }
7116
0
    }
7117
7118
    constexpr void on_width(int width)
7119
0
    {
7120
0
        if (m_specs.precision != 0 && width > m_specs.precision) {
7121
            // clang-format off
7122
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7123
            // clang-format on
7124
0
        }
7125
7126
0
        m_specs.width = width;
7127
0
    }
7128
    constexpr void on_precision(int prec)
7129
0
    {
7130
0
        if (m_specs.width > prec) {
7131
            // clang-format off
7132
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7133
            // clang-format on
7134
0
        }
7135
7136
0
        m_specs.precision = prec;
7137
0
    }
7138
7139
    constexpr void on_type(presentation_type type)
7140
0
    {
7141
0
        m_specs.type = type;
7142
0
    }
7143
7144
    constexpr void on_charset_single(char32_t cp)
7145
0
    {
7146
0
        const auto cp_value = static_cast<unsigned>(cp);
7147
0
        if (SCN_LIKELY(cp_value <= 127)) {
7148
0
            m_specs.charset_literals[cp_value / 8] |=
7149
0
                static_cast<unsigned char>(1ul << (cp_value % 8));
7150
0
        }
7151
0
        else {
7152
0
            m_specs.charset_has_nonascii = true;
7153
0
        }
7154
0
    }
7155
7156
    constexpr void on_charset_range(char32_t begin, char32_t end)
7157
0
    {
7158
0
        const auto begin_value = static_cast<unsigned>(begin);
7159
0
        const auto end_value = static_cast<unsigned>(end);
7160
0
        SCN_EXPECT(begin_value < end_value);
7161
7162
0
        if (SCN_LIKELY(end_value <= 127)) {
7163
            // No need to bit-twiddle with a mask, because with the
7164
            // SCN_ASSUME, -O3 will optimize this to a single operation
7165
0
            SCN_ASSUME(begin_value < end_value);
7166
0
            for (auto v = begin_value; v != end_value; ++v) {
7167
0
                m_specs.charset_literals[v / 8] |=
7168
0
                    static_cast<unsigned char>(1ul << (v % 8));
7169
0
            }
7170
0
        }
7171
0
        else {
7172
0
            m_specs.charset_has_nonascii = true;
7173
0
        }
7174
0
    }
7175
7176
    constexpr void on_charset_inverted()
7177
0
    {
7178
0
        m_specs.charset_is_inverted = true;
7179
0
    }
7180
7181
    template <typename CharT>
7182
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
7183
0
    {
7184
0
        m_specs.charset_string_data = fmt.data();
7185
0
        m_specs.charset_string_size = fmt.size();
7186
0
        on_type(presentation_type::string_set);
7187
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7188
7189
    template <typename CharT>
7190
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
7191
0
    {
7192
0
        m_specs.charset_string_data = pattern.data();
7193
0
        m_specs.charset_string_size = pattern.size();
7194
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7195
    constexpr void on_regex_flags(regex_flags flags)
7196
0
    {
7197
0
        m_specs.regexp_flags = flags;
7198
0
    }
7199
7200
    // Intentionally not constexpr to get a compiler-time error when called
7201
    /*not-constexpr*/ void on_error(const char* msg)
7202
0
    {
7203
0
        SCN_UNLIKELY_ATTR
7204
0
        m_error = unexpected_scan_error(scan_error::invalid_format_string, msg);
7205
0
    }
7206
    /*not-constexpr*/ void on_error(scan_error err)
7207
0
    {
7208
0
        SCN_UNLIKELY_ATTR
7209
0
        m_error = unexpected(err);
7210
0
    }
7211
7212
    constexpr scan_expected<void> get_error() const
7213
0
    {
7214
0
        return m_error;
7215
0
    }
7216
7217
protected:
7218
    format_specs& m_specs;
7219
    scan_expected<void> m_error;
7220
};
7221
7222
template <typename CharT>
7223
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
7224
0
{
7225
0
    SCN_EXPECT(begin != end);
7226
0
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7227
7228
0
    unsigned long long value = 0;
7229
0
    do {
7230
0
        value *= 10;
7231
0
        value += static_cast<unsigned long long>(*begin - '0');
7232
0
        if (value >
7233
0
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7234
0
            return -1;
7235
0
        }
7236
0
        ++begin;
7237
0
    } while (begin != end && *begin >= '0' && *begin <= '9');
7238
0
    return static_cast<int>(value);
7239
0
}
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<char>(char const*&, char const*)
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
7240
7241
template <typename CharT, typename IDHandler>
7242
constexpr const CharT* do_parse_arg_id(const CharT* begin,
7243
                                       const CharT* end,
7244
                                       IDHandler&& handler)
7245
0
{
7246
0
    SCN_EXPECT(begin != end);
7247
7248
0
    CharT c = *begin;
7249
0
    if (c < CharT{'0'} || c > CharT{'9'}) {
7250
0
        handler.on_error("Invalid argument ID");
7251
0
        return begin;
7252
0
    }
7253
7254
0
    int idx = 0;
7255
0
    if (c != CharT{'0'}) {
7256
0
        idx = parse_simple_int(begin, end);
7257
0
    }
7258
0
    else {
7259
0
        ++begin;
7260
0
    }
7261
7262
0
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7263
0
        handler.on_error("Invalid argument ID");
7264
0
        return begin;
7265
0
    }
7266
0
    handler(idx);
7267
7268
0
    return begin;
7269
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7270
7271
template <typename CharT, typename IDHandler>
7272
constexpr const CharT* parse_arg_id(const CharT* begin,
7273
                                    const CharT* end,
7274
                                    IDHandler&& handler)
7275
354k
{
7276
354k
    SCN_EXPECT(begin != end);
7277
354k
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
354k
    handler();
7282
354k
    return begin;
7283
354k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7275
77.7k
{
7276
77.7k
    SCN_EXPECT(begin != end);
7277
77.7k
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
77.7k
    handler();
7282
77.7k
    return begin;
7283
77.7k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Line
Count
Source
7275
94.1k
{
7276
94.1k
    SCN_EXPECT(begin != end);
7277
94.1k
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
94.1k
    handler();
7282
94.1k
    return begin;
7283
94.1k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7275
91.1k
{
7276
91.1k
    SCN_EXPECT(begin != end);
7277
91.1k
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
91.1k
    handler();
7282
91.1k
    return begin;
7283
91.1k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
Line
Count
Source
7275
91.1k
{
7276
91.1k
    SCN_EXPECT(begin != end);
7277
91.1k
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
91.1k
    handler();
7282
91.1k
    return begin;
7283
91.1k
}
7284
7285
template <typename CharT>
7286
constexpr presentation_type parse_presentation_type(CharT type)
7287
0
{
7288
0
    switch (type) {
7289
0
        case 'b':
7290
0
        case 'B':
7291
0
            return presentation_type::int_binary;
7292
0
        case 'd':
7293
0
            return presentation_type::int_decimal;
7294
0
        case 'i':
7295
0
            return presentation_type::int_generic;
7296
0
        case 'u':
7297
0
            return presentation_type::int_unsigned_decimal;
7298
0
        case 'o':
7299
0
            return presentation_type::int_octal;
7300
0
        case 'x':
7301
0
        case 'X':
7302
0
            return presentation_type::int_hex;
7303
0
        case 'r':
7304
0
        case 'R':
7305
0
            return presentation_type::int_arbitrary_base;
7306
0
        case 'a':
7307
0
        case 'A':
7308
0
            return presentation_type::float_hex;
7309
0
        case 'e':
7310
0
        case 'E':
7311
0
            return presentation_type::float_scientific;
7312
0
        case 'f':
7313
0
        case 'F':
7314
0
            return presentation_type::float_fixed;
7315
0
        case 'g':
7316
0
        case 'G':
7317
0
            return presentation_type::float_general;
7318
0
        case 's':
7319
0
            return presentation_type::string;
7320
0
        case 'c':
7321
0
            return presentation_type::character;
7322
0
        case '?':
7323
0
            return presentation_type::escaped_character;
7324
0
        case 'p':
7325
0
            return presentation_type::pointer;
7326
0
        case '[':
7327
0
        case '/':
7328
            // Should be handled by parse_presentation_set and
7329
            // parse_presentation_regex
7330
0
            SCN_EXPECT(false);
7331
0
            SCN_UNREACHABLE;
7332
0
        default:
7333
0
            return presentation_type::none;
7334
0
    }
7335
0
}
Unexecuted instantiation: scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<char>(char)
Unexecuted instantiation: scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<wchar_t>(wchar_t)
7336
7337
template <typename CharT>
7338
constexpr bool is_ascii_letter(CharT ch)
7339
0
{
7340
0
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7341
0
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7342
0
}
Unexecuted instantiation: bool scn::v4::detail::is_ascii_letter<char>(char)
Unexecuted instantiation: bool scn::v4::detail::is_ascii_letter<wchar_t>(wchar_t)
7343
7344
template <typename CharT>
7345
constexpr int code_point_length(const CharT* begin, const CharT* end)
7346
0
{
7347
0
    SCN_EXPECT(begin != end);
7348
0
    if constexpr (sizeof(CharT) != 1) {
7349
0
        return 1;
7350
    }
7351
0
    else {
7352
0
        const auto lengths =
7353
0
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7354
0
            "\3\4";
7355
0
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7356
0
        return len;
7357
0
    }
7358
0
}
Unexecuted instantiation: int scn::v4::detail::code_point_length<char>(char const*, char const*)
Unexecuted instantiation: int scn::v4::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
7359
7360
template <typename CharT, typename Handler>
7361
constexpr const CharT* parse_align(const CharT* begin,
7362
                                   const CharT* end,
7363
                                   Handler&& handler)
7364
0
{
7365
0
    SCN_EXPECT(begin != end);
7366
7367
0
    auto check_align = [](wchar_t ch) {
7368
0
        switch (ch) {
7369
0
            case L'<':
7370
0
                return align_type::left;
7371
0
            case L'>':
7372
0
                return align_type::right;
7373
0
            case L'^':
7374
0
                return align_type::center;
7375
0
            default:
7376
0
                return align_type::none;
7377
0
        }
7378
0
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
7379
7380
0
    auto potential_fill_len = code_point_length(begin, end);
7381
0
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7382
0
                     std::distance(begin, end) < potential_fill_len)) {
7383
0
        handler.on_error("Invalid encoding in fill character");
7384
0
        return begin;
7385
0
    }
7386
7387
0
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7388
7389
0
    auto potential_fill = std::basic_string_view<CharT>{
7390
0
        begin, static_cast<size_t>(potential_fill_len)};
7391
0
    const auto begin_before_fill = begin;
7392
0
    begin += potential_fill_len;
7393
7394
0
    if (begin == end) {
7395
0
        return begin_before_fill;
7396
0
    }
7397
7398
0
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7399
0
    const auto begin_after_fill = begin;
7400
0
    ++begin;
7401
7402
0
    if (potential_fill_len == 1) {
7403
0
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7404
0
            handler.on_error("Invalid fill character '{' in format string");
7405
0
            return begin;
7406
0
        }
7407
0
        if (potential_fill[0] == '[') {
7408
0
            return begin_before_fill;
7409
0
        }
7410
0
    }
7411
7412
0
    if (potential_align_after_fill == align_type::none) {
7413
0
        if (potential_align_on_fill != align_type::none) {
7414
0
            handler.on_align(potential_align_on_fill);
7415
0
            return begin_after_fill;
7416
0
        }
7417
0
        return begin_before_fill;
7418
0
    }
7419
7420
0
    handler.on_fill(potential_fill);
7421
0
    handler.on_align(potential_align_after_fill);
7422
0
    return begin;
7423
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7424
7425
template <typename CharT, typename Handler>
7426
constexpr const CharT* parse_width(const CharT* begin,
7427
                                   const CharT* end,
7428
                                   Handler&& handler)
7429
0
{
7430
0
    SCN_EXPECT(begin != end);
7431
7432
0
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7433
0
        int width = parse_simple_int(begin, end);
7434
0
        if (SCN_LIKELY(width != -1)) {
7435
0
            handler.on_width(width);
7436
0
        }
7437
0
        else {
7438
0
            handler.on_error("Invalid field width");
7439
0
            return begin;
7440
0
        }
7441
0
    }
7442
0
    return begin;
7443
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7444
7445
template <typename CharT, typename Handler>
7446
constexpr const CharT* parse_precision(const CharT* begin,
7447
                                       const CharT* end,
7448
                                       Handler&& handler)
7449
0
{
7450
0
    SCN_EXPECT(begin != end);
7451
7452
0
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7453
0
        int prec = parse_simple_int(begin, end);
7454
0
        if (SCN_LIKELY(prec != -1)) {
7455
0
            handler.on_precision(prec);
7456
0
        }
7457
0
        else {
7458
0
            handler.on_error("Invalid field precision");
7459
0
            return begin;
7460
0
        }
7461
0
    }
7462
0
    return begin;
7463
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7464
7465
template <typename CharT, typename SpecHandler>
7466
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
7467
                                                     const CharT* end,
7468
                                                     SpecHandler&& handler)
7469
0
{
7470
0
    SCN_EXPECT(begin != end);
7471
7472
0
    auto len = code_point_length_by_starting_code_unit(*begin);
7473
0
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7474
0
        handler.on_error("Invalid encoding in format string");
7475
0
        return invalid_code_point;
7476
0
    }
7477
7478
0
    const auto cp =
7479
0
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7480
0
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7481
0
        handler.on_error("Invalid encoding in format string");
7482
0
        return invalid_code_point;
7483
0
    }
7484
7485
0
    begin += len;
7486
0
    return cp;
7487
0
}
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7488
7489
template <typename CharT, typename SpecHandler>
7490
constexpr void parse_presentation_set_literal(const CharT*& begin,
7491
                                              const CharT* end,
7492
                                              SpecHandler&& handler)
7493
0
{
7494
0
    SCN_EXPECT(begin != end);
7495
7496
0
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7497
0
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7498
0
        return;
7499
0
    }
7500
7501
0
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7502
0
        *(begin + 1) != CharT{']'}) {
7503
0
        ++begin;
7504
7505
0
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7506
0
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7507
0
            return;
7508
0
        }
7509
7510
0
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7511
            // clang-format off
7512
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7513
            // clang-format on
7514
0
            return;
7515
0
        }
7516
7517
0
        handler.on_charset_range(cp_first, cp_second + 1);
7518
0
        return;
7519
0
    }
7520
7521
0
    handler.on_charset_single(cp_first);
7522
0
}
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7523
7524
template <typename CharT, typename SpecHandler>
7525
constexpr std::basic_string_view<CharT> parse_presentation_set(
7526
    const CharT*& begin,
7527
    const CharT* end,
7528
    SpecHandler&& handler)
7529
0
{
7530
0
    SCN_EXPECT(begin != end);
7531
0
    SCN_EXPECT(*begin == CharT{'['});
7532
7533
0
    auto start = begin;
7534
0
    ++begin;
7535
7536
0
    if (SCN_UNLIKELY(begin == end)) {
7537
        // clang-format off
7538
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7539
        // clang-format on
7540
0
        return {};
7541
0
    }
7542
0
    if (*begin == CharT{'^'}) {
7543
0
        handler.on_charset_inverted();
7544
0
        ++begin;
7545
0
        if (SCN_UNLIKELY(begin == end)) {
7546
            // clang-format off
7547
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7548
            // clang-format on
7549
0
            return {};
7550
0
        }
7551
0
        if (*begin == CharT{']'}) {
7552
0
            handler.on_charset_single(char32_t{']'});
7553
0
            ++begin;
7554
0
        }
7555
0
    }
7556
0
    else if (*begin == CharT{']'}) {
7557
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7558
0
    }
7559
7560
0
    while (begin != end) {
7561
0
        if (SCN_UNLIKELY(!handler.get_error())) {
7562
0
            break;
7563
0
        }
7564
7565
0
        if (*begin == CharT{']'}) {
7566
0
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7567
0
        }
7568
7569
0
        parse_presentation_set_literal(begin, end, handler);
7570
0
    }
7571
7572
0
    SCN_UNLIKELY_ATTR
7573
0
    handler.on_error("Invalid [character set] specifier in format string");
7574
0
    return {};
7575
0
}
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7576
7577
template <typename CharT, typename SpecHandler>
7578
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
7579
                                                const CharT* end,
7580
                                                SpecHandler&& handler)
7581
0
{
7582
0
#if !SCN_DISABLE_REGEX
7583
0
    SCN_EXPECT(begin != end);
7584
0
    SCN_EXPECT(*begin == CharT{'/'});
7585
7586
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7587
0
                  std::is_same_v<CharT, wchar_t>) {
7588
0
        handler.on_error("Regex backend doesn't support wide strings as input");
7589
0
        return begin;
7590
0
    }
7591
7592
0
    auto start = begin;
7593
0
    ++begin;
7594
7595
0
    if (SCN_UNLIKELY(begin == end)) {
7596
0
        handler.on_error("Unexpected end of regex in format string");
7597
0
        return begin;
7598
0
    }
7599
7600
0
    handler.on_type(presentation_type::regex);
7601
0
    for (; begin != end; ++begin) {
7602
0
        if (*begin == CharT{'/'}) {
7603
0
            if (*(begin - 1) != CharT{'\\'}) {
7604
0
                break;
7605
0
            }
7606
0
            else {
7607
0
                handler.on_type(presentation_type::regex_escaped);
7608
0
            }
7609
0
        }
7610
0
    }
7611
0
    if (SCN_UNLIKELY(begin == end)) {
7612
0
        handler.on_error("Unexpected end of regex in format string");
7613
0
        return begin;
7614
0
    }
7615
7616
0
    auto regex_end = begin;
7617
0
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7618
0
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7619
0
        handler.on_error("Invalid (empty) regex in format string");
7620
0
        return begin;
7621
0
    }
7622
0
    handler.on_regex_pattern(regex_pattern);
7623
0
    ++begin;
7624
7625
0
    if (SCN_UNLIKELY(begin == end)) {
7626
0
        handler.on_error("Unexpected end of regex in format string");
7627
0
        return begin;
7628
0
    }
7629
7630
0
    regex_flags flags{regex_flags::none};
7631
0
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7632
0
        {{'m', regex_flags::multiline},
7633
0
         {'s', regex_flags::singleline},
7634
0
         {'i', regex_flags::nocase},
7635
0
         {'n', regex_flags::nocapture}}};
7636
0
    for (; begin != end; ++begin) {
7637
0
        if (*begin == CharT{'}'}) {
7638
0
            break;
7639
0
        }
7640
0
        bool found_flag = false;
7641
0
        for (auto flag : flag_map) {
7642
0
            if (static_cast<CharT>(flag.first) != *begin) {
7643
0
                continue;
7644
0
            }
7645
0
            if ((flags & flag.second) != regex_flags::none) {
7646
0
                handler.on_error("Flag set multiple times in regex");
7647
0
                return begin;
7648
0
            }
7649
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7650
            if (*begin == CharT{'s'}) {
7651
                // clang-format off
7652
                handler.on_error("/s flag for regex isn't supported by regex backend");
7653
                // clang-format on
7654
            }
7655
#if !SCN_HAS_STD_REGEX_MULTILINE
7656
            if (*begin == CharT{'m'}) {
7657
                // clang-format off
7658
                handler.on_error("/m flag for regex isn't supported by regex backend");
7659
                // clang-format on
7660
            }
7661
#endif
7662
#endif
7663
0
            flags |= flag.second;
7664
0
            found_flag = true;
7665
0
            break;
7666
0
        }
7667
0
        if (!found_flag) {
7668
0
            handler.on_error("Invalid flag in regex");
7669
0
            return begin;
7670
0
        }
7671
0
    }
7672
0
    handler.on_regex_flags(flags);
7673
7674
0
    if (SCN_UNLIKELY(begin == end)) {
7675
0
        handler.on_error("Unexpected end of regex in format string");
7676
0
        return begin;
7677
0
    }
7678
7679
0
    return begin;
7680
#else
7681
    handler.on_error("Regular expression support is disabled");
7682
    return {};
7683
#endif
7684
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7685
7686
template <typename CharT, typename SpecHandler>
7687
constexpr const CharT* parse_format_specs(const CharT* begin,
7688
                                          const CharT* end,
7689
                                          SpecHandler&& handler)
7690
0
{
7691
0
    auto do_presentation = [&]() -> const CharT* {
7692
0
        if (*begin == CharT{'['}) {
7693
0
            auto set = parse_presentation_set(begin, end, handler);
7694
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
0
                return begin;
7699
0
            }
7700
0
            handler.on_character_set_string(set);
7701
0
            return begin;
7702
0
        }
7703
0
        if (*begin == CharT{'/'}) {
7704
0
            return parse_presentation_regex(begin, end, handler);
7705
0
        }
7706
0
        presentation_type type = parse_presentation_type(*begin++);
7707
0
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
0
            handler.on_error("Invalid type specifier in format string");
7709
0
            return begin;
7710
0
        }
7711
0
        handler.on_type(type);
7712
0
        return begin;
7713
0
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda()#1}::operator()() const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda()#1}::operator()() const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda()#1}::operator()() const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda()#1}::operator()() const
7714
7715
0
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7716
0
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7717
0
        return do_presentation();
7718
0
    }
7719
7720
0
    if (SCN_UNLIKELY(begin == end)) {
7721
0
        handler.on_error("Unexpected end of format string");
7722
0
        return begin;
7723
0
    }
7724
7725
0
    begin = parse_align(begin, end, handler);
7726
0
    if (SCN_UNLIKELY(begin == end)) {
7727
0
        handler.on_error("Unexpected end of format string");
7728
0
        return begin;
7729
0
    }
7730
7731
0
    begin = parse_width(begin, end, handler);
7732
0
    if (SCN_UNLIKELY(begin == end)) {
7733
0
        handler.on_error("Unexpected end of format string");
7734
0
        return begin;
7735
0
    }
7736
7737
0
    if (*begin == CharT{'.'}) {
7738
0
        ++begin;
7739
0
        if (SCN_UNLIKELY(begin == end)) {
7740
0
            handler.on_error("Unexpected end of format string");
7741
0
            return begin;
7742
0
        }
7743
0
        begin = parse_precision(begin, end, handler);
7744
0
        if (SCN_UNLIKELY(begin == end)) {
7745
0
            handler.on_error("Unexpected end of format string");
7746
0
            return begin;
7747
0
        }
7748
0
    }
7749
7750
0
    if (*begin == CharT{'L'}) {
7751
0
        handler.on_localized();
7752
0
        ++begin;
7753
0
    }
7754
0
    if (SCN_UNLIKELY(begin == end)) {
7755
0
        handler.on_error("Unexpected end of format string");
7756
0
        return begin;
7757
0
    }
7758
7759
0
    if (begin != end && *begin != CharT{'}'}) {
7760
0
        do_presentation();
7761
0
    }
7762
0
    if (SCN_UNLIKELY(begin == end)) {
7763
0
        handler.on_error("Unexpected end of format string");
7764
0
        return begin;
7765
0
    }
7766
7767
0
    return begin;
7768
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7769
7770
template <typename CharT, typename Handler>
7771
constexpr const CharT* parse_replacement_field(const CharT* begin,
7772
                                               const CharT* end,
7773
                                               Handler& handler)
7774
354k
{
7775
354k
    struct id_adapter {
7776
354k
        constexpr void operator()()
7777
354k
        {
7778
354k
            arg_id = handler.on_arg_id();
7779
354k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
7777
77.7k
        {
7778
77.7k
            arg_id = handler.on_arg_id();
7779
77.7k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
Line
Count
Source
7777
94.1k
        {
7778
94.1k
            arg_id = handler.on_arg_id();
7779
94.1k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7777
91.1k
        {
7778
91.1k
            arg_id = handler.on_arg_id();
7779
91.1k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7777
91.1k
        {
7778
91.1k
            arg_id = handler.on_arg_id();
7779
91.1k
        }
7780
354k
        constexpr void operator()(std::size_t id)
7781
354k
        {
7782
0
            arg_id = handler.on_arg_id(id);
7783
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
7784
7785
354k
        constexpr void on_error(const char* msg)
7786
354k
        {
7787
0
            SCN_UNLIKELY_ATTR
7788
0
            handler.on_error(msg);
7789
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
7790
7791
354k
        Handler& handler;
7792
354k
        std::size_t arg_id;
7793
354k
    };
7794
7795
354k
    ++begin;
7796
354k
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
354k
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
354k
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
354k
    else {
7808
354k
        auto adapter = id_adapter{handler, 0};
7809
354k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
354k
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
354k
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
354k
        else if (*begin == CharT{':'}) {
7820
354k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
354k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
354k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
0
                handler.on_error("Unknown format specifier");
7827
0
                return begin;
7828
0
            }
7829
354k
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
354k
    }
7836
354k
    return begin + 1;
7837
354k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7774
77.7k
{
7775
77.7k
    struct id_adapter {
7776
77.7k
        constexpr void operator()()
7777
77.7k
        {
7778
77.7k
            arg_id = handler.on_arg_id();
7779
77.7k
        }
7780
77.7k
        constexpr void operator()(std::size_t id)
7781
77.7k
        {
7782
77.7k
            arg_id = handler.on_arg_id(id);
7783
77.7k
        }
7784
7785
77.7k
        constexpr void on_error(const char* msg)
7786
77.7k
        {
7787
77.7k
            SCN_UNLIKELY_ATTR
7788
77.7k
            handler.on_error(msg);
7789
77.7k
        }
7790
7791
77.7k
        Handler& handler;
7792
77.7k
        std::size_t arg_id;
7793
77.7k
    };
7794
7795
77.7k
    ++begin;
7796
77.7k
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
77.7k
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
77.7k
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
77.7k
    else {
7808
77.7k
        auto adapter = id_adapter{handler, 0};
7809
77.7k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
77.7k
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
77.7k
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
77.7k
        else if (*begin == CharT{':'}) {
7820
77.7k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
77.7k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
77.7k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
0
                handler.on_error("Unknown format specifier");
7827
0
                return begin;
7828
0
            }
7829
77.7k
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
77.7k
    }
7836
77.7k
    return begin + 1;
7837
77.7k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7774
94.1k
{
7775
94.1k
    struct id_adapter {
7776
94.1k
        constexpr void operator()()
7777
94.1k
        {
7778
94.1k
            arg_id = handler.on_arg_id();
7779
94.1k
        }
7780
94.1k
        constexpr void operator()(std::size_t id)
7781
94.1k
        {
7782
94.1k
            arg_id = handler.on_arg_id(id);
7783
94.1k
        }
7784
7785
94.1k
        constexpr void on_error(const char* msg)
7786
94.1k
        {
7787
94.1k
            SCN_UNLIKELY_ATTR
7788
94.1k
            handler.on_error(msg);
7789
94.1k
        }
7790
7791
94.1k
        Handler& handler;
7792
94.1k
        std::size_t arg_id;
7793
94.1k
    };
7794
7795
94.1k
    ++begin;
7796
94.1k
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
94.1k
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
94.1k
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
94.1k
    else {
7808
94.1k
        auto adapter = id_adapter{handler, 0};
7809
94.1k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
94.1k
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
94.1k
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
94.1k
        else if (*begin == CharT{':'}) {
7820
94.1k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
94.1k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
94.1k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
0
                handler.on_error("Unknown format specifier");
7827
0
                return begin;
7828
0
            }
7829
94.1k
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
94.1k
    }
7836
94.1k
    return begin + 1;
7837
94.1k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7774
91.1k
{
7775
91.1k
    struct id_adapter {
7776
91.1k
        constexpr void operator()()
7777
91.1k
        {
7778
91.1k
            arg_id = handler.on_arg_id();
7779
91.1k
        }
7780
91.1k
        constexpr void operator()(std::size_t id)
7781
91.1k
        {
7782
91.1k
            arg_id = handler.on_arg_id(id);
7783
91.1k
        }
7784
7785
91.1k
        constexpr void on_error(const char* msg)
7786
91.1k
        {
7787
91.1k
            SCN_UNLIKELY_ATTR
7788
91.1k
            handler.on_error(msg);
7789
91.1k
        }
7790
7791
91.1k
        Handler& handler;
7792
91.1k
        std::size_t arg_id;
7793
91.1k
    };
7794
7795
91.1k
    ++begin;
7796
91.1k
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
91.1k
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
91.1k
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
91.1k
    else {
7808
91.1k
        auto adapter = id_adapter{handler, 0};
7809
91.1k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
91.1k
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
91.1k
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
91.1k
        else if (*begin == CharT{':'}) {
7820
91.1k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
91.1k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
91.1k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
0
                handler.on_error("Unknown format specifier");
7827
0
                return begin;
7828
0
            }
7829
91.1k
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
91.1k
    }
7836
91.1k
    return begin + 1;
7837
91.1k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7774
91.1k
{
7775
91.1k
    struct id_adapter {
7776
91.1k
        constexpr void operator()()
7777
91.1k
        {
7778
91.1k
            arg_id = handler.on_arg_id();
7779
91.1k
        }
7780
91.1k
        constexpr void operator()(std::size_t id)
7781
91.1k
        {
7782
91.1k
            arg_id = handler.on_arg_id(id);
7783
91.1k
        }
7784
7785
91.1k
        constexpr void on_error(const char* msg)
7786
91.1k
        {
7787
91.1k
            SCN_UNLIKELY_ATTR
7788
91.1k
            handler.on_error(msg);
7789
91.1k
        }
7790
7791
91.1k
        Handler& handler;
7792
91.1k
        std::size_t arg_id;
7793
91.1k
    };
7794
7795
91.1k
    ++begin;
7796
91.1k
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
91.1k
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
91.1k
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
91.1k
    else {
7808
91.1k
        auto adapter = id_adapter{handler, 0};
7809
91.1k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
91.1k
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
91.1k
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
91.1k
        else if (*begin == CharT{':'}) {
7820
91.1k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
91.1k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
91.1k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
0
                handler.on_error("Unknown format specifier");
7827
0
                return begin;
7828
0
            }
7829
91.1k
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
91.1k
    }
7836
91.1k
    return begin + 1;
7837
91.1k
}
7838
7839
template <bool IsConstexpr, typename CharT, typename Handler>
7840
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7841
                                        Handler&& handler)
7842
354k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
354k
    auto begin = format.data();
7846
354k
    auto it = begin;
7847
354k
    const auto end = format.data() + format.size();
7848
7849
498k
    while (it != end) {
7850
354k
        const auto ch = *it++;
7851
354k
        if (ch == CharT{'{'}) {
7852
354k
            handler.on_literal_text(begin, it - 1);
7853
7854
354k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
354k
            if (!handler.get_error()) {
7856
210k
                return;
7857
210k
            }
7858
354k
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
354k
    }
7869
7870
144k
    handler.on_literal_text(begin, end);
7871
144k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7842
77.7k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
77.7k
    auto begin = format.data();
7846
77.7k
    auto it = begin;
7847
77.7k
    const auto end = format.data() + format.size();
7848
7849
120k
    while (it != end) {
7850
77.7k
        const auto ch = *it++;
7851
77.7k
        if (ch == CharT{'{'}) {
7852
77.7k
            handler.on_literal_text(begin, it - 1);
7853
7854
77.7k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
77.7k
            if (!handler.get_error()) {
7856
35.0k
                return;
7857
35.0k
            }
7858
77.7k
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
77.7k
    }
7869
7870
42.6k
    handler.on_literal_text(begin, end);
7871
42.6k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7842
94.1k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
94.1k
    auto begin = format.data();
7846
94.1k
    auto it = begin;
7847
94.1k
    const auto end = format.data() + format.size();
7848
7849
153k
    while (it != end) {
7850
94.1k
        const auto ch = *it++;
7851
94.1k
        if (ch == CharT{'{'}) {
7852
94.1k
            handler.on_literal_text(begin, it - 1);
7853
7854
94.1k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
94.1k
            if (!handler.get_error()) {
7856
35.0k
                return;
7857
35.0k
            }
7858
94.1k
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
94.1k
    }
7869
7870
59.1k
    handler.on_literal_text(begin, end);
7871
59.1k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7842
91.1k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
91.1k
    auto begin = format.data();
7846
91.1k
    auto it = begin;
7847
91.1k
    const auto end = format.data() + format.size();
7848
7849
112k
    while (it != end) {
7850
91.1k
        const auto ch = *it++;
7851
91.1k
        if (ch == CharT{'{'}) {
7852
91.1k
            handler.on_literal_text(begin, it - 1);
7853
7854
91.1k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
91.1k
            if (!handler.get_error()) {
7856
70.0k
                return;
7857
70.0k
            }
7858
91.1k
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
91.1k
    }
7869
7870
21.1k
    handler.on_literal_text(begin, end);
7871
21.1k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7842
91.1k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
91.1k
    auto begin = format.data();
7846
91.1k
    auto it = begin;
7847
91.1k
    const auto end = format.data() + format.size();
7848
7849
112k
    while (it != end) {
7850
91.1k
        const auto ch = *it++;
7851
91.1k
        if (ch == CharT{'{'}) {
7852
91.1k
            handler.on_literal_text(begin, it - 1);
7853
7854
91.1k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
91.1k
            if (!handler.get_error()) {
7856
70.0k
                return;
7857
70.0k
            }
7858
91.1k
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
91.1k
    }
7869
7870
21.1k
    handler.on_literal_text(begin, end);
7871
21.1k
}
7872
7873
template <bool IsConstexpr, typename CharT, typename Handler>
7874
constexpr scan_expected<void> parse_format_string(
7875
    std::basic_string_view<CharT> format,
7876
    Handler&& handler)
7877
354k
{
7878
354k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
354k
    handler.check_args_exhausted();
7880
354k
    return handler.get_error();
7881
354k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7877
77.7k
{
7878
77.7k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
77.7k
    handler.check_args_exhausted();
7880
77.7k
    return handler.get_error();
7881
77.7k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7877
94.1k
{
7878
94.1k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
94.1k
    handler.check_args_exhausted();
7880
94.1k
    return handler.get_error();
7881
94.1k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7877
91.1k
{
7878
91.1k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
91.1k
    handler.check_args_exhausted();
7880
91.1k
    return handler.get_error();
7881
91.1k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7877
91.1k
{
7878
91.1k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
91.1k
    handler.check_args_exhausted();
7880
91.1k
    return handler.get_error();
7881
91.1k
}
7882
7883
enum class arg_type_category {
7884
    none,
7885
    integer,
7886
    unsigned_integer,
7887
    floating,
7888
    string,
7889
    pointer,
7890
    boolean,
7891
    character,
7892
    custom
7893
};
7894
7895
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7896
0
{
7897
0
    switch (type) {
7898
0
        case arg_type::none_type:
7899
0
            return arg_type_category::none;
7900
7901
0
        case arg_type::schar_type:
7902
0
        case arg_type::short_type:
7903
0
        case arg_type::int_type:
7904
0
        case arg_type::long_type:
7905
0
        case arg_type::llong_type:
7906
0
        case arg_type::int128_type:
7907
0
            return arg_type_category::integer;
7908
7909
0
        case arg_type::uchar_type:
7910
0
        case arg_type::ushort_type:
7911
0
        case arg_type::uint_type:
7912
0
        case arg_type::ulong_type:
7913
0
        case arg_type::ullong_type:
7914
0
        case arg_type::uint128_type:
7915
0
            return arg_type_category::unsigned_integer;
7916
7917
0
        case arg_type::pointer_type:
7918
0
            return arg_type_category::pointer;
7919
0
        case arg_type::bool_type:
7920
0
            return arg_type_category::boolean;
7921
0
        case arg_type::narrow_character_type:
7922
0
        case arg_type::wide_character_type:
7923
0
        case arg_type::code_point_type:
7924
0
            return arg_type_category::character;
7925
7926
0
        case arg_type::float_type:
7927
0
        case arg_type::double_type:
7928
0
        case arg_type::ldouble_type:
7929
0
        case arg_type::float16_type:
7930
0
        case arg_type::float32_type:
7931
0
        case arg_type::float64_type:
7932
0
        case arg_type::float128_type:
7933
0
        case arg_type::bfloat16_type:
7934
0
            return arg_type_category::floating;
7935
7936
0
        case arg_type::narrow_string_type:
7937
0
        case arg_type::wide_string_type:
7938
0
        case arg_type::string_view_type:
7939
0
            return arg_type_category::string;
7940
7941
0
        case arg_type::custom_type:
7942
0
            return arg_type_category::custom;
7943
7944
0
            SCN_CLANG_PUSH
7945
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7946
0
        default:
7947
0
            SCN_ENSURE(false);
7948
0
            SCN_UNREACHABLE;
7949
0
            SCN_CLANG_POP
7950
0
    }
7951
7952
0
    SCN_UNREACHABLE;
7953
0
}
7954
7955
template <typename Handler>
7956
class specs_checker : public Handler {
7957
public:
7958
    template <typename H>
7959
    constexpr specs_checker(H&& handler, arg_type type)
7960
0
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7961
0
    {
7962
0
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7963
0
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::detail::arg_type)
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::detail::arg_type)
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::detail::arg_type)
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::detail::arg_type)
7964
7965
    constexpr void on_localized()
7966
0
    {
7967
0
        const auto cat = get_category_for_arg_type(m_arg_type);
7968
0
        if (cat != arg_type_category::integer &&
7969
0
            cat != arg_type_category::unsigned_integer &&
7970
0
            cat != arg_type_category::floating &&
7971
0
            cat != arg_type_category::boolean) {
7972
0
            SCN_UNLIKELY_ATTR
7973
            // clang-format off
7974
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7975
            // clang-format on
7976
0
        }
7977
7978
0
        Handler::on_localized();
7979
0
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::on_localized()
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::on_localized()
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::on_localized()
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::on_localized()
7980
7981
private:
7982
    arg_type m_arg_type;
7983
};
7984
7985
template <typename Handler>
7986
constexpr void check_int_type_specs(const format_specs& specs,
7987
                                    Handler&& handler)
7988
0
{
7989
0
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7990
0
        return handler.on_error("Invalid type specifier for integer type");
7991
0
    }
7992
0
    if (specs.localized) {
7993
0
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7994
            // clang-format off
7995
0
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7996
            // clang-format on
7997
0
            return;
7998
0
        }
7999
0
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
8000
            // clang-format off
8001
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
8002
            // clang-format on
8003
0
        }
8004
0
    }
8005
0
}
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8006
8007
template <typename Handler>
8008
constexpr void check_char_type_specs(const format_specs& specs,
8009
                                     Handler&& handler)
8010
0
{
8011
0
    if (specs.type > presentation_type::int_hex ||
8012
0
        specs.type == presentation_type::int_arbitrary_base) {
8013
0
        SCN_UNLIKELY_ATTR
8014
0
        return handler.on_error("Invalid type specifier for character type");
8015
0
    }
8016
0
}
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8017
8018
template <typename Handler>
8019
constexpr void check_code_point_type_specs(const format_specs& specs,
8020
                                           Handler&& handler)
8021
0
{
8022
0
    if (specs.type != presentation_type::none &&
8023
0
        specs.type != presentation_type::character) {
8024
0
        SCN_UNLIKELY_ATTR
8025
0
        return handler.on_error("Invalid type specifier for code point type");
8026
0
    }
8027
0
}
8028
8029
template <typename Handler>
8030
constexpr void check_float_type_specs(const format_specs& specs,
8031
                                      Handler&& handler)
8032
0
{
8033
0
    if (specs.type != presentation_type::none &&
8034
0
        (specs.type < presentation_type::float_hex ||
8035
0
         specs.type > presentation_type::float_general)) {
8036
0
        SCN_UNLIKELY_ATTR
8037
0
        return handler.on_error("Invalid type specifier for float type");
8038
0
    }
8039
0
}
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8040
8041
template <typename Handler>
8042
constexpr void check_string_type_specs(const format_specs& specs,
8043
                                       Handler&& handler)
8044
0
{
8045
0
    if (specs.type == presentation_type::none ||
8046
0
        specs.type == presentation_type::string ||
8047
0
        specs.type == presentation_type::string_set ||
8048
0
        specs.type == presentation_type::regex ||
8049
0
        specs.type == presentation_type::regex_escaped) {
8050
0
        return;
8051
0
    }
8052
0
    if (specs.type == presentation_type::character) {
8053
0
        if (SCN_UNLIKELY(specs.precision == 0)) {
8054
            // clang-format off
8055
0
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
8056
            // clang-format on
8057
0
        }
8058
0
        return;
8059
0
    }
8060
0
    SCN_UNLIKELY_ATTR
8061
0
    handler.on_error("Invalid type specifier for string");
8062
0
}
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8063
8064
template <typename Handler>
8065
constexpr void check_pointer_type_specs(const format_specs& specs,
8066
                                        Handler&& handler)
8067
0
{
8068
0
    if (specs.type != presentation_type::none &&
8069
0
        specs.type != presentation_type::pointer) {
8070
0
        SCN_UNLIKELY_ATTR
8071
0
        return handler.on_error("Invalid type specifier for pointer");
8072
0
    }
8073
0
}
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8074
8075
template <typename Handler>
8076
constexpr void check_bool_type_specs(const format_specs& specs,
8077
                                     Handler&& handler)
8078
0
{
8079
0
    if (specs.type != presentation_type::none &&
8080
0
        specs.type != presentation_type::string &&
8081
0
        specs.type != presentation_type::int_generic &&
8082
0
        specs.type != presentation_type::int_hex &&
8083
0
        specs.type != presentation_type::int_binary &&
8084
0
        specs.type != presentation_type::int_unsigned_decimal &&
8085
0
        specs.type != presentation_type::int_octal &&
8086
0
        specs.type != presentation_type::int_decimal) {
8087
0
        SCN_UNLIKELY_ATTR
8088
0
        return handler.on_error("Invalid type specifier for boolean");
8089
0
    }
8090
0
}
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8091
8092
template <typename Handler>
8093
constexpr void check_regex_type_specs(const format_specs& specs,
8094
                                      Handler&& handler)
8095
0
{
8096
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
8097
0
                     specs.charset_string_size == 0)) {
8098
        // clang-format off
8099
0
        return handler.on_error("Regular expression needs to be specified when reading regex_matches");
8100
        // clang-format on
8101
0
    }
8102
0
    if (specs.type == presentation_type::regex ||
8103
0
        specs.type == presentation_type::regex_escaped) {
8104
0
        return;
8105
0
    }
8106
0
    SCN_UNLIKELY_ATTR
8107
0
    handler.on_error("Invalid type specifier for regex_matches");
8108
0
}
8109
}  // namespace detail
8110
8111
/**
8112
 * \defgroup format-string Format strings
8113
 *
8114
 * \brief Format string description
8115
 *
8116
 * The format string syntax is heavily influenced by {fmt} and
8117
 * `std::format`, and is largely compatible with it. Scanning functions,
8118
 * such as `scn::scan` and
8119
 * `scn::input`, use the format string syntax described in this section.
8120
 *
8121
 * Format strings consist of:
8122
 *
8123
 *  * Replacement fields, which are surrounded by curly braces `{}`.
8124
 *
8125
 *  * Non-whitespace characters (except `{}`; for literal braces, use
8126
 *    `{{` and `}}`), which consume exactly one identical character from the
8127
 *    input
8128
 *
8129
 *  * Whitespace characters, which consume any and all available consecutive
8130
 *    whitespace from the input.
8131
 *
8132
 * Literal characters are matched by code point one-to-one, with no
8133
 * normalization being done.
8134
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
8135
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
8136
 *
8137
 * Characters (code points) are considered to be whitespace characters by
8138
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
8139
 * These code points are:
8140
 *
8141
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
8142
 *  * U+0085 (next line)
8143
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
8144
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
8145
 *
8146
 * The grammar for a replacement field is as follows:
8147
 *
8148
 * \code
8149
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
8150
 * arg-id              ::= positive-integer
8151
 *
8152
 * format-spec         ::= [fill-and-align]
8153
 *                         [width] [precision]
8154
 *                         ['L'] [type]
8155
 * fill-and-align      ::= [fill] align
8156
 * fill                ::= any character other than
8157
 *                         '{' or '}'
8158
 * align               ::= one of '<' '>' '^'
8159
 * width               ::= positive-integer
8160
 * precision           ::= '.' nonnegative-integer
8161
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
8162
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
8163
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
8164
 * \endcode
8165
 *
8166
 * \section arg-ids Argument IDs
8167
 *
8168
 * The `arg-id` specifier can be used to index arguments manually.
8169
 * If manual indexing is used, all of the indices in a format string must be
8170
 * stated explicitly. The same `arg-id` can appear in the format string
8171
 * only once, and must refer to a valid argument.
8172
 *
8173
 * \code{.cpp}
8174
 * // Format string equivalent to "{0} to {1}"
8175
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
8176
 * // a->values() == (2, 300)
8177
 *
8178
 * // Manual indexing
8179
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
8180
 * // b->values() == (300, 2)
8181
 *
8182
 * // INVALID:
8183
 * // Automatic and manual indexing is mixed
8184
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
8185
 *
8186
 * // INVALID:
8187
 * // Same argument is referred to multiple times
8188
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
8189
 *
8190
 * // INVALID:
8191
 * // {2} does not refer to an argument
8192
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
8193
 * \endcode
8194
 *
8195
 * \section fill-and-align Fill and align
8196
 *
8197
 * Alignment allows for skipping character before and/or after a value.
8198
 * There are three possible values for alignment:
8199
 *
8200
 * <table>
8201
 * <caption id="align-table">
8202
 * Alignment options
8203
 * </caption>
8204
 *
8205
 * <tr><th>Option</th> <th>Meaning</th></tr>
8206
 *
8207
 * <tr>
8208
 * <td>`<`</td>
8209
 * <td>
8210
 * Align the value to the left (skips fill characters after the value)
8211
 * </td>
8212
 * </tr>
8213
 *
8214
 * <tr>
8215
 * <td>`>`</td>
8216
 * <td>
8217
 * Align the value to the right (skips fill characters before the value)
8218
 * </td>
8219
 * </tr>
8220
 *
8221
 * <tr>
8222
 * <td>`^`</td>
8223
 * <td>
8224
 * Align the value to the center
8225
 * (skips fill characters both before and after the value)
8226
 * </td>
8227
 * </tr>
8228
 * </table>
8229
 *
8230
 * The fill character can be any Unicode code point, except for `{` and `}`.
8231
 * The default fill is the space character `' '`.
8232
 *
8233
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
8234
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
8235
 * the default alignment is `>`.
8236
 * Otherwise, the default alignment is `<`.
8237
 *
8238
 * In addition to the skipping of fill characters,
8239
 * for format type specifiers with the `>` default alignment,
8240
 * preceding whitespace is automatically skipped.
8241
 * This preceding whitespace isn't counted as part of the field width,
8242
 * as described below.
8243
 *
8244
 * The number of fill characters consumed can be controlled with the width and
8245
 * precision specifiers.
8246
 *
8247
 * \section width Width
8248
 *
8249
 * Width specifies the minimum number of characters that will be read from
8250
 * the source range. It can be any unsigned integer. Any fill characters skipped
8251
 * are included in the width
8252
 *
8253
 * For the purposes of width calculation, the same algorithm is used that in
8254
 * {fmt}. Every code point has a width of one, except the following ones
8255
 * have a width of 2:
8256
 *
8257
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
8258
 *   Derived Extracted Property as described by UAX#44
8259
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
8260
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
8261
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
8262
 *
8263
 * \section precision Precision
8264
 *
8265
 * Precision specifies the maximum number of characters that will be read from
8266
 * the source range. The method for counting characters is the same as above,
8267
 * with the width field.
8268
 *
8269
 * \section localized Localized
8270
 *
8271
 * The `L` flag enables localized scanning.
8272
 * Its effects are different for each type it is used with:
8273
 *
8274
 *  * For integers, it enables locale-specific thousands separators
8275
 *  * For floating-point numbers, it enables locale-specific thousands and
8276
 *    radix (decimal) separators
8277
 *  * For booleans, it enables locale-specific textual representations (for
8278
 *    `true` and `false`)
8279
 *  * For other types, it has no effect
8280
 *
8281
 * \section type Type specifier
8282
 *
8283
 * The type specifier determines how the data is to be scanned.
8284
 * The type of the argument to be scanned determines what flags are valid.
8285
 *
8286
 * \subsection type-string Type specifier: strings
8287
 *
8288
 * <table>
8289
 * <caption id="type-string-table">
8290
 * String types (`std::basic_string` and `std::basic_string_view`)
8291
 * </caption>
8292
 * <tr><th>Type</th> <th>Meaning</th></tr>
8293
 * <tr>
8294
 * <td>none, `s`</td>
8295
 * <td>
8296
 * Copies from the input until a whitespace character is encountered, or,
8297
 * if using the `<` (left) or `^` (center) alignment,
8298
 * a fill character is encountered.
8299
 * </td>
8300
 * </tr>
8301
 * <tr>
8302
 * <td>`c`</td>
8303
 * <td>
8304
 * Copies from the input until the field width is exhausted.
8305
 * Doesn't skip preceding whitespace.
8306
 * Errors if no field precision is provided.
8307
 * </td>
8308
 * </tr>
8309
 * <tr>
8310
 * <td>`[...]`</td>
8311
 * <td>
8312
 * Character set matching: copies from the input until a character not specified
8313
 * in the set is encountered. Character ranges can be specified with `-`, and
8314
 * the entire selection can be inverted with a prefix `^`. Matches and supports
8315
 * arbitrary Unicode code points.
8316
 * Doesn't skip preceding whitespace.
8317
 * </td>
8318
 * </tr>
8319
 * <tr>
8320
 * <td>`/<regex>/<flags>`</td>
8321
 * <td>
8322
 * Regular expression matching: copies from the input until the input does not
8323
 * match the regex.
8324
 * Doesn't skip preceding whitespace.
8325
 * \see regex
8326
 * </td>
8327
 * </tr>
8328
 * </table>
8329
 *
8330
 * \note `std::basic_string_view` can only be scanned if the source is
8331
 * contiguous.
8332
 *
8333
 * \subsection type-int Type specifier: integers
8334
 *
8335
 * Integer values are scanned as if by using `std::from_chars`,
8336
 * except a positive `+` sign and a base prefix (like `0x`) are always
8337
 * allowed to be present.
8338
 *
8339
 * <table>
8340
 * <caption id="type-int-table">
8341
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
8342
 * `int`, `long`, and `long long`)
8343
 * </caption>
8344
 * <tr><th>Type</th> <th>Meaning</th></tr>
8345
 * <tr>
8346
 * <td>`b`, `B`</td>
8347
 * <td>
8348
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
8349
 * </td>
8350
 * </tr>
8351
 * <tr>
8352
 * <td>`o`, `O`</td>
8353
 * <td>
8354
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
8355
 * `0`.
8356
 * </td>
8357
 * </tr>
8358
 * <tr>
8359
 * <td>`x`, `X`</td>
8360
 * <td>
8361
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
8362
 * </td>
8363
 * </tr>
8364
 * <tr>
8365
 * <td>`d`</td>
8366
 * <td>
8367
 * `std::from_chars` with base `10`. No base prefix allowed.
8368
 * </td>
8369
 * </tr>
8370
 * <tr>
8371
 * <td>`u`</td>
8372
 * <td>
8373
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
8374
 * </td>
8375
 * </tr>
8376
 * <tr>
8377
 * <td>`i`</td>
8378
 * <td>
8379
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
8380
 * </td>
8381
 * </tr>
8382
 * <tr>
8383
 * <td>`rXX` (where XX = [2, 36])</td>
8384
 * <td>
8385
 * Custom base, without a base prefix (r stands for radix).
8386
 * </td>
8387
 * </tr>
8388
 * <tr>
8389
 * <td>`c`</td>
8390
 * <td>
8391
 * Copies a character (code unit) from the input.
8392
 * </td>
8393
 * </tr>
8394
 * <tr>
8395
 * <td>none</td>
8396
 * <td>
8397
 * Same as `d`.
8398
 * </td>
8399
 * </tr>
8400
 * </table>
8401
 *
8402
 * \subsection type-char Type specifier: characters
8403
 *
8404
 * <table>
8405
 * <caption id="type-char-table">
8406
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
8407
 * </caption>
8408
 * <tr><th>Type</th> <th>Meaning</th></tr>
8409
 * <tr>
8410
 * <td>none, `c`</td>
8411
 * <td>
8412
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
8413
 * input.
8414
 * </td>
8415
 * </tr>
8416
 * <tr>
8417
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8418
 * <td>
8419
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
8420
 * </td>
8421
 * </tr>
8422
 * </table>
8423
 *
8424
 * \note When scanning characters (`char` and `wchar_t`), the source range is
8425
 * read a single code unit at a time, and encoding is not respected.
8426
 *
8427
 * \subsection type-float Type specifier: floating-point values
8428
 *
8429
 * Floating-point values are scanned as if by using `std::from_chars`,
8430
 * except a positive `+` sign and a base prefix (like `0x`) are always
8431
 * allowed to be present.
8432
 *
8433
 * <table>
8434
 * <caption id="type-float-table">
8435
 * Floating-point types (`float`, `double`, and `long double`)
8436
 * </caption>
8437
 * <tr><th>Type</th> <th>Meaning</th></tr>
8438
 * <tr>
8439
 * <td>`a`, `A`</td>
8440
 * <td>
8441
 * `std::from_chars` with `std::chars_format::hex`.
8442
 * Prefix `0x`/`0X` is allowed.
8443
 * </td>
8444
 * </tr>
8445
 * <tr>
8446
 * <td>`e`, `E`</td>
8447
 * <td>
8448
 * `std::from_chars` with `std::chars_format::scientific`.
8449
 * </td>
8450
 * </tr>
8451
 * <tr>
8452
 * <td>`f`, `F`</td>
8453
 * <td>
8454
 * `std::from_chars` with `std::chars_format::fixed`.
8455
 * </td>
8456
 * </tr>
8457
 * <tr>
8458
 * <td>`g`, `G`</td>
8459
 * <td>
8460
 * `std::from_chars` with `std::chars_format::general`.
8461
 * </td>
8462
 * </tr>
8463
 * <tr>
8464
 * <td>none</td>
8465
 * <td>
8466
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
8467
 * Prefix `0x`/`0X` is allowed.
8468
 * </td>
8469
 * </tr>
8470
 * </table>
8471
 *
8472
 * \subsection type-bool Type specifier: booleans
8473
 *
8474
 * <table>
8475
 * <caption id="type-bool-table">
8476
 * `bool`
8477
 * </caption>
8478
 * <tr><th>Type</th> <th>Meaning</th></tr>
8479
 * <tr>
8480
 * <td>`s`</td>
8481
 * <td>
8482
 * Allows for the textual representation (`true` or `false`).
8483
 * </td>
8484
 * </tr>
8485
 * <tr>
8486
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8487
 * <td>
8488
 * Allows for the integral/numeric representation (`0` or `1`).
8489
 * </td>
8490
 * </tr>
8491
 * <tr>
8492
 * <td>none</td>
8493
 * <td>
8494
 * Allows for both the textual and the integral/numeric representation.
8495
 * </td>
8496
 * </tr>
8497
 * </table>
8498
 */
8499
8500
namespace detail {
8501
/**
8502
 * A runtime format string
8503
 *
8504
 * \ingroup format-string
8505
 */
8506
template <typename CharT>
8507
struct basic_runtime_format_string {
8508
354k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
8508
171k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
8508
182k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
8509
8510
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
8511
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
8512
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
8513
        delete;
8514
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
8515
        delete;
8516
    ~basic_runtime_format_string() = default;
8517
8518
    std::basic_string_view<CharT> str;
8519
};
8520
}  // namespace detail
8521
8522
/**
8523
 * Create a runtime format string
8524
 *
8525
 * Can be used to avoid compile-time format string checking
8526
 *
8527
 * \ingroup format-string
8528
 */
8529
inline detail::basic_runtime_format_string<char> runtime_format(
8530
    std::string_view s)
8531
171k
{
8532
171k
    return s;
8533
171k
}
8534
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
8535
    std::wstring_view s)
8536
182k
{
8537
182k
    return s;
8538
182k
}
8539
8540
namespace detail {
8541
struct compile_string {};
8542
8543
template <typename Str>
8544
inline constexpr bool is_compile_string_v =
8545
    std::is_base_of_v<compile_string, Str>;
8546
8547
template <typename Scanner, typename ParseCtx>
8548
using dt_scanner_parse =
8549
    decltype(SCN_DECLVAL(Scanner&).parse(SCN_DECLVAL(ParseCtx&)));
8550
template <typename Scanner, typename T, typename Ctx>
8551
using dt_scanner_scan = decltype(SCN_DECLVAL(const Scanner&)
8552
                                     .scan(SCN_DECLVAL(T&), SCN_DECLVAL(Ctx&)));
8553
8554
template <typename Scanner, typename T, typename Ctx, typename ParseCtx>
8555
constexpr typename ParseCtx::iterator parse_format_specs_impl(
8556
    ParseCtx& parse_ctx)
8557
{
8558
    static_assert(
8559
        std::is_default_constructible_v<Scanner>,
8560
        "Specializations of scn::scanner must be default constructible");
8561
    static_assert(mp_valid<dt_scanner_parse, Scanner, ParseCtx>::value,
8562
                  "Specializations of scn::scanner must have a "
8563
                  "parse(ParseContext&) member function.");
8564
    static_assert(
8565
        std::is_same_v<mp_eval_or<void, dt_scanner_parse, Scanner, ParseCtx>,
8566
                       typename ParseCtx::iterator>,
8567
        "scn::scanner::parse(ParseContext&) must return "
8568
        "ParseContext::iterator. To report an error from scanner::parse, "
8569
        "either throw an exception derived from scn::scan_format_string_error, "
8570
        "or call ParseContext::on_error.");
8571
    static_assert(mp_valid<dt_scanner_scan, Scanner, T, Ctx>::value,
8572
                  "Specializations of scn::scanner must have a "
8573
                  "scan(T&, Context&) const member function.");
8574
    static_assert(
8575
        std::is_same_v<mp_eval_or<void, dt_scanner_scan, Scanner, T, Ctx>,
8576
                       scan_expected<typename Ctx::iterator>>,
8577
        "scn::scanner::scan(T&, Context&) must return "
8578
        "scan_expected<Context::iterator>.");
8579
8580
    auto s = Scanner{};
8581
    return s.parse(parse_ctx);
8582
}
8583
8584
template <typename T, typename Ctx, typename ParseCtx>
8585
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
8586
{
8587
    using char_type = typename Ctx::char_type;
8588
    using map_result =
8589
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
8590
            SCN_DECLVAL(T&)))>;
8591
    if constexpr (std::is_base_of_v<unscannable, map_result>) {
8592
        // Error will be reported by static_assert in make_value(),
8593
        // let's not muddy the compiler error by making more of them.
8594
        return parse_ctx.begin();
8595
    }
8596
    else {
8597
        using mapped_type =
8598
            std::conditional_t<arg_type_constant<T, char_type>::value !=
8599
                                   arg_type::custom_type,
8600
                               map_result, T>;
8601
        using scanner_type = typename Ctx::template scanner_type<mapped_type>;
8602
        return parse_format_specs_impl<scanner_type, T, Ctx, ParseCtx>(
8603
            parse_ctx);
8604
    }
8605
}
8606
8607
template <typename CharT, typename Source, typename... Args>
8608
class format_string_checker {
8609
public:
8610
    using parse_context_type = compile_parse_context<CharT>;
8611
    static constexpr auto num_args = sizeof...(Args);
8612
8613
    explicit constexpr format_string_checker(
8614
        std::basic_string_view<CharT> format_str)
8615
        : m_parse_context(source_tag<Source>, format_str, num_args, m_types),
8616
          m_parse_funcs{&parse_format_specs<Args,
8617
                                            default_context<CharT>,
8618
                                            parse_context_type>...},
8619
          m_types{arg_type_constant<Args, CharT>::value...}
8620
    {
8621
    }
8622
8623
    constexpr void on_literal_text(const CharT* begin, const CharT* end)
8624
    {
8625
        // TODO: Do we want to validate Unicode in format strings?
8626
        // We're dealing with text, so we probably do.
8627
        // We could do codeunit-to-codeunit matching,
8628
        // but that could get messy wrt. whitespace matching.
8629
        // It's simpler to not allow nonsense.
8630
        while (begin != end) {
8631
            const auto len = code_point_length_by_starting_code_unit(*begin);
8632
            if (SCN_UNLIKELY(len == 0 ||
8633
                             static_cast<size_t>(end - begin) < len)) {
8634
                return on_error("Invalid encoding in format string");
8635
            }
8636
8637
            const auto cp = decode_code_point_exhaustive(
8638
                std::basic_string_view<CharT>{begin, len});
8639
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
8640
                return on_error("Invalid encoding in format string");
8641
            }
8642
8643
            begin += len;
8644
        }
8645
    }
8646
8647
    constexpr auto on_arg_id()
8648
    {
8649
        return m_parse_context.next_arg_id();
8650
    }
8651
    constexpr auto on_arg_id(std::size_t id)
8652
    {
8653
        m_parse_context.check_arg_id(id);
8654
        return id;
8655
    }
8656
8657
    constexpr void on_replacement_field(size_t id, const CharT* begin)
8658
    {
8659
        set_arg_as_read(id);
8660
8661
        auto type = m_types[id];
8662
        check_arg_can_be_read(type);
8663
8664
        if (type == arg_type::custom_type && id < num_args) {
8665
            // Only call scanner::parse to check for errors,
8666
            // we're discarding the result.
8667
            // The advance_to dance is done to point the parse context to the
8668
            // character after the `{`; right now, it points to that
8669
            const auto beg = begin;
8670
            m_parse_context.advance_to(begin);
8671
            m_parse_funcs[id](m_parse_context);
8672
            m_parse_context.advance_to(beg);
8673
        }
8674
    }
8675
8676
    constexpr const CharT* on_format_specs(std::size_t id,
8677
                                           const CharT* begin,
8678
                                           const CharT*)
8679
    {
8680
        set_arg_as_read(id);
8681
        check_arg_can_be_read(m_types[id]);
8682
8683
        m_parse_context.advance_to(begin);
8684
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
8685
    }
8686
8687
    constexpr void check_args_exhausted()
8688
    {
8689
        if constexpr (num_args == 0) {
8690
            return;
8691
        }
8692
        for (auto is_set : m_visited_args) {
8693
            if (!is_set) {
8694
                return on_error("Argument list not exhausted");
8695
            }
8696
        }
8697
    }
8698
8699
    void on_error(const char* msg)
8700
    {
8701
        SCN_UNLIKELY_ATTR
8702
        m_parse_context.on_error(msg);
8703
    }
8704
8705
    // Only to satisfy the concept and eliminate compiler errors,
8706
    // because errors are reported by failing to compile on_error above
8707
    // (it's not constexpr)
8708
    constexpr scan_expected<void> get_error() const
8709
    {
8710
        return {};
8711
    }
8712
8713
private:
8714
    constexpr void set_arg_as_read(size_t id)
8715
    {
8716
        if (id >= num_args) {
8717
            return on_error("Invalid out-of-range argument ID");
8718
        }
8719
        if (m_visited_args[id]) {
8720
            return on_error("Argument with this ID already scanned");
8721
        }
8722
        m_visited_args[id] = true;
8723
    }
8724
8725
    constexpr void check_arg_can_be_read(arg_type type)
8726
    {
8727
        if (type == arg_type::string_view_type &&
8728
            !m_parse_context.is_source_contiguous()) {
8729
            // clang-format off
8730
            return on_error("Cannot read a string_view from a non-contiguous source");
8731
            // clang-format on
8732
        }
8733
        if (type == arg_type::string_view_type &&
8734
            !m_parse_context.is_source_borrowed()) {
8735
            // clang-format off
8736
            return on_error("Cannot read a string_view from a non-borrowed source");
8737
            // clang-format on
8738
        }
8739
    }
8740
8741
    using parse_func = const CharT* (*)(parse_context_type&);
8742
8743
    parse_context_type m_parse_context;
8744
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
8745
    arg_type m_types[num_args > 0 ? num_args : 1];
8746
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
8747
};
8748
8749
template <typename Source, typename... Args, typename Str>
8750
constexpr auto check_format_string(const Str&)
8751
    -> std::enable_if_t<!is_compile_string_v<Str>>
8752
0
{
8753
    // TODO: SCN_ENFORE_COMPILE_STRING?
8754
#if 0  // SCN_ENFORE_COMPILE_STRING
8755
    static_assert(dependent_false<Str>::value,
8756
              "SCN_ENFORCE_COMPILE_STRING requires all format "
8757
              "strings to use SCN_STRING.");
8758
#endif
8759
0
}
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [3]>), void>::type scn::v4::detail::check_format_string<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double, char [3]>(char const (&) [3])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
8760
8761
template <typename Source, typename... Args, typename Str>
8762
constexpr auto check_format_string(Str format_str)
8763
    -> std::enable_if_t<is_compile_string_v<Str>>
8764
{
8765
    using char_type = typename Str::char_type;
8766
8767
    SCN_GCC_PUSH
8768
    SCN_GCC_IGNORE("-Wconversion")
8769
    constexpr auto s = std::basic_string_view<char_type>{format_str};
8770
    SCN_GCC_POP
8771
8772
    using checker = format_string_checker<char_type, Source, Args...>;
8773
    constexpr bool invalid_format =
8774
        (parse_format_string<true>(s, checker(s)), true);
8775
    SCN_UNUSED(invalid_format);
8776
}
8777
8778
template <typename CharT, std::size_t N>
8779
constexpr std::basic_string_view<CharT> compile_string_to_view(
8780
    const CharT (&s)[N])
8781
{
8782
    return {s, N - 1};
8783
}
8784
template <typename CharT>
8785
constexpr std::basic_string_view<CharT> compile_string_to_view(
8786
    std::basic_string_view<CharT> s)
8787
{
8788
    return s;
8789
}
8790
}  // namespace detail
8791
8792
#define SCN_STRING_IMPL(s, base, expl)                                       \
8793
    [] {                                                                     \
8794
        struct SCN_COMPILE_STRING : base {                                   \
8795
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
8796
            SCN_MAYBE_UNUSED constexpr expl                                  \
8797
            operator ::std::basic_string_view<char_type>() const             \
8798
            {                                                                \
8799
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
8800
            }                                                                \
8801
        };                                                                   \
8802
        return SCN_COMPILE_STRING{};                                         \
8803
    }()
8804
8805
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
8806
8807
/**
8808
 * Compile-time format string
8809
 *
8810
 * \ingroup format-string
8811
 */
8812
template <typename CharT, typename Source, typename... Args>
8813
class basic_scan_format_string {
8814
public:
8815
    SCN_CLANG_PUSH
8816
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
8817
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
8818
#endif
8819
    template <
8820
        typename S,
8821
        std::enable_if_t<
8822
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
8823
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
8824
0
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
8825
0
    {
8826
#if SCN_HAS_CONSTEVAL
8827
        using checker = detail::format_string_checker<CharT, Source, Args...>;
8828
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
8829
        SCN_UNUSED(e);
8830
#else
8831
0
        detail::check_format_string<Source, Args...>(s);
8832
0
#endif
8833
0
    }
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEJdEEC2IA3_cTnPNS2_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS2_17basic_string_viewIcS5_EEEsr6detailE11is_not_selfISE_SA_EEvE4typeELPv0EEESG_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
8834
    SCN_CLANG_POP
8835
8836
    template <
8837
        typename OtherSource,
8838
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
8839
                                        detail::remove_cvref_t<OtherSource>> &&
8840
                         ranges::borrowed_range<Source> ==
8841
                             ranges::borrowed_range<OtherSource>>* = nullptr>
8842
    constexpr basic_scan_format_string(
8843
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
8844
        : m_str(other.get())
8845
    {
8846
    }
8847
8848
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
8849
354k
        : m_str(r.str)
8850
354k
    {
8851
354k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
25.9k
        : m_str(r.str)
8850
25.9k
    {
8851
25.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
25.9k
        : m_str(r.str)
8850
25.9k
    {
8851
25.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
25.9k
        : m_str(r.str)
8850
25.9k
    {
8851
25.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
31.3k
        : m_str(r.str)
8850
31.3k
    {
8851
31.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
31.3k
        : m_str(r.str)
8850
31.3k
    {
8851
31.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
31.3k
        : m_str(r.str)
8850
31.3k
    {
8851
31.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
30.3k
        : m_str(r.str)
8850
30.3k
    {
8851
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
30.3k
        : m_str(r.str)
8850
30.3k
    {
8851
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
30.3k
        : m_str(r.str)
8850
30.3k
    {
8851
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
30.3k
        : m_str(r.str)
8850
30.3k
    {
8851
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
30.3k
        : m_str(r.str)
8850
30.3k
    {
8851
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
30.3k
        : m_str(r.str)
8850
30.3k
    {
8851
30.3k
    }
8852
8853
    constexpr operator std::basic_string_view<CharT>() const
8854
354k
    {
8855
354k
        return m_str;
8856
354k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
25.9k
    {
8855
25.9k
        return m_str;
8856
25.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
25.9k
    {
8855
25.9k
        return m_str;
8856
25.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
25.9k
    {
8855
25.9k
        return m_str;
8856
25.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
31.3k
    {
8855
31.3k
        return m_str;
8856
31.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
31.3k
    {
8855
31.3k
        return m_str;
8856
31.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
31.3k
    {
8855
31.3k
        return m_str;
8856
31.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
30.3k
    {
8855
30.3k
        return m_str;
8856
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
30.3k
    {
8855
30.3k
        return m_str;
8856
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
30.3k
    {
8855
30.3k
        return m_str;
8856
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
30.3k
    {
8855
30.3k
        return m_str;
8856
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
30.3k
    {
8855
30.3k
        return m_str;
8856
30.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
30.3k
    {
8855
30.3k
        return m_str;
8856
30.3k
    }
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
8857
    constexpr std::basic_string_view<CharT> get() const
8858
    {
8859
        return m_str;
8860
    }
8861
8862
private:
8863
    std::basic_string_view<CharT> m_str;
8864
};
8865
8866
namespace detail {
8867
class locale_ref {
8868
#if !SCN_DISABLE_LOCALE
8869
public:
8870
192k
    constexpr locale_ref() = default;
8871
8872
    template <typename Locale>
8873
    explicit locale_ref(const Locale& loc);
8874
8875
    constexpr explicit operator bool() const noexcept
8876
0
    {
8877
0
        return m_locale != nullptr;
8878
0
    }
8879
8880
    template <typename Locale>
8881
    Locale get() const;
8882
8883
private:
8884
    const void* m_locale{nullptr};
8885
#else
8886
public:
8887
    constexpr locale_ref() = default;
8888
8889
    template <typename T>
8890
    constexpr explicit locale_ref(T&&)
8891
    {
8892
    }
8893
8894
    constexpr explicit operator bool() const noexcept
8895
    {
8896
        return true;
8897
    }
8898
#endif
8899
};
8900
}  // namespace detail
8901
8902
/////////////////////////////////////////////////////////////////
8903
// scan_context
8904
/////////////////////////////////////////////////////////////////
8905
8906
namespace detail {
8907
template <typename I>
8908
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
8909
template <typename I>
8910
inline constexpr bool is_comparable_with_nullptr =
8911
    mp_valid_v<apply_cmp_with_nullptr, I>;
8912
8913
template <typename Args>
8914
class scan_context_base {
8915
public:
8916
    /// Get argument at index `id`
8917
    constexpr auto arg(size_t id) const noexcept
8918
354k
    {
8919
354k
        return m_args.get(id);
8920
354k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::arg(unsigned long) const
Line
Count
Source
8918
171k
    {
8919
171k
        return m_args.get(id);
8920
171k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::arg(unsigned long) const
Line
Count
Source
8918
182k
    {
8919
182k
        return m_args.get(id);
8920
182k
    }
8921
8922
    constexpr const Args& args() const
8923
337k
    {
8924
337k
        return m_args;
8925
337k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::args() const
Line
Count
Source
8923
155k
    {
8924
155k
        return m_args;
8925
155k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::args() const
Line
Count
Source
8923
182k
    {
8924
182k
        return m_args;
8925
182k
    }
8926
8927
    SCN_NODISCARD constexpr locale_ref locale() const
8928
687k
    {
8929
687k
        return m_locale;
8930
687k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::locale() const
Line
Count
Source
8928
325k
    {
8929
325k
        return m_locale;
8930
325k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::locale() const
Line
Count
Source
8928
362k
    {
8929
362k
        return m_locale;
8930
362k
    }
8931
8932
protected:
8933
    scan_context_base(Args args, locale_ref loc)
8934
706k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8935
706k
    {
8936
706k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
8934
332k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8935
332k
    {
8936
332k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
8934
374k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8935
374k
    {
8936
374k
    }
8937
8938
    Args m_args;
8939
    locale_ref m_locale;
8940
};
8941
}  // namespace detail
8942
8943
/**
8944
 * \defgroup ctx Contexts and scanners
8945
 *
8946
 * \brief Lower-level APIs used for scanning individual values
8947
 *
8948
 * \section user-defined Scanning user-defined types
8949
 *
8950
 * User-defined types can be scanned by specializing the class template
8951
 * `scn::scanner`.
8952
 *
8953
 * \code{.cpp}
8954
 * struct mytype {
8955
 *   int key;
8956
 *   std::string value;
8957
 * };
8958
 *
8959
 * template <>
8960
 * struct scn::scanner<mytype> {
8961
 *   template <typename ParseContext>
8962
 *   constexpr auto parse(ParseCtx& pctx)
8963
 *     -> typename ParseContext::iterator {
8964
 *     // parse() implementation just returning begin():
8965
 *     // only permits empty format specifiers
8966
 *     return pctx.begin();
8967
 *   }
8968
 *
8969
 *   template <typename Context>
8970
 *   auto scan(mytype& val, Context& ctx)
8971
 *     -> scan_expected<typename Context::iterator> {
8972
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8973
 *       .transform([&](auto result) {
8974
 *         std::tie(val.key, val.value) = std::move(result->values());
8975
 *         return result.begin();
8976
 *       });
8977
 *   }
8978
 * };
8979
 * \endcode
8980
 *
8981
 * See also
8982
 * \ref g-usertypes
8983
 */
8984
8985
/**
8986
 * Scanning context.
8987
 *
8988
 * \ingroup ctx
8989
 */
8990
template <typename Range, typename CharT>
8991
class basic_scan_context
8992
    : public detail::scan_context_base<
8993
          basic_scan_args<basic_scan_context<Range, CharT>>> {
8994
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8995
8996
    using args_type = basic_scan_args<basic_scan_context>;
8997
    using arg_type = basic_scan_arg<basic_scan_context>;
8998
8999
public:
9000
    /// Character type of the input
9001
    using char_type = CharT;
9002
    using range_type = std::conditional_t<
9003
        std::is_same_v<Range, detail::buffer_range_tag>,
9004
        typename detail::basic_scan_buffer<char_type>::range_type,
9005
        Range>;
9006
    using iterator = ranges::iterator_t<range_type>;
9007
    using sentinel = ranges::sentinel_t<range_type>;
9008
    using parse_context_type = basic_scan_parse_context<char_type>;
9009
9010
    /**
9011
     * The scanner type associated with this scanning context.
9012
     */
9013
    template <typename T>
9014
    using scanner_type = scanner<T, char_type>;
9015
9016
    constexpr basic_scan_context(iterator curr,
9017
                                 args_type a,
9018
                                 detail::locale_ref loc = {})
9019
369k
        : base(SCN_MOVE(a), loc), m_current(curr)
9020
369k
    {
9021
369k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::basic_scan_context(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
9019
176k
        : base(SCN_MOVE(a), loc), m_current(curr)
9020
176k
    {
9021
176k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::basic_scan_context(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
9019
192k
        : base(SCN_MOVE(a), loc), m_current(curr)
9020
192k
    {
9021
192k
    }
9022
9023
    basic_scan_context(const basic_scan_context&) = delete;
9024
    basic_scan_context& operator=(const basic_scan_context&) = delete;
9025
9026
    basic_scan_context(basic_scan_context&&) = default;
9027
    basic_scan_context& operator=(basic_scan_context&&) = default;
9028
    ~basic_scan_context() = default;
9029
9030
    /**
9031
     * Returns an iterator pointing to the current position in the source
9032
     * range.
9033
     */
9034
    constexpr iterator begin() const
9035
1.36M
    {
9036
1.36M
        return m_current;
9037
1.36M
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::begin() const
Line
Count
Source
9035
734k
    {
9036
734k
        return m_current;
9037
734k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::begin() const
Line
Count
Source
9035
630k
    {
9036
630k
        return m_current;
9037
630k
    }
9038
9039
    /**
9040
     * Returns a sentinel pointing to the end of the source range.
9041
     */
9042
    constexpr sentinel end() const
9043
368k
    {
9044
368k
        return ranges::default_sentinel;
9045
368k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::end() const
Line
Count
Source
9043
186k
    {
9044
186k
        return ranges::default_sentinel;
9045
186k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::end() const
Line
Count
Source
9043
181k
    {
9044
181k
        return ranges::default_sentinel;
9045
181k
    }
9046
9047
    /**
9048
     * Returns a subrange over `[begin(), end())`
9049
     */
9050
    constexpr auto range() const
9051
368k
    {
9052
368k
        return ranges::subrange{begin(), end()};
9053
368k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::range() const
Line
Count
Source
9051
186k
    {
9052
186k
        return ranges::subrange{begin(), end()};
9053
186k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::range() const
Line
Count
Source
9051
181k
    {
9052
181k
        return ranges::subrange{begin(), end()};
9053
181k
    }
9054
9055
    /// Advances the beginning of the source range to `it`
9056
    void advance_to(iterator it)
9057
407k
    {
9058
407k
        m_current = SCN_MOVE(it);
9059
407k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
9057
253k
    {
9058
253k
        m_current = SCN_MOVE(it);
9059
253k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
9057
153k
    {
9058
153k
        m_current = SCN_MOVE(it);
9059
153k
    }
9060
9061
private:
9062
    iterator m_current;
9063
};
9064
9065
namespace detail {
9066
template <typename T, typename ParseCtx>
9067
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9068
    ParseCtx& pctx,
9069
    format_specs& specs);
9070
9071
template <typename T, typename Context>
9072
scan_expected<typename Context::iterator>
9073
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
9074
9075
template <typename T, typename CharT>
9076
struct builtin_scanner {
9077
    template <typename ParseCtx>
9078
    constexpr auto parse(ParseCtx& pctx) -> typename ParseCtx::iterator
9079
    {
9080
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
9081
    }
9082
9083
    template <typename Context>
9084
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
9085
    {
9086
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
9087
    }
9088
9089
protected:
9090
    format_specs m_specs;
9091
};
9092
}  // namespace detail
9093
9094
/////////////////////////////////////////////////////////////////
9095
// scanner
9096
/////////////////////////////////////////////////////////////////
9097
9098
/**
9099
 * `scanner` specialization for all built-in types
9100
 *
9101
 * \ingroup ctx
9102
 */
9103
template <typename T, typename CharT>
9104
struct scanner<T,
9105
               CharT,
9106
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
9107
                                    detail::arg_type::custom_type &&
9108
                                !detail::is_type_disabled<T>>>
9109
    : detail::builtin_scanner<T, CharT> {};
9110
9111
namespace detail {
9112
template <typename T, typename ParseCtx>
9113
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9114
    ParseCtx& pctx,
9115
    format_specs& specs)
9116
{
9117
    using char_type = typename ParseCtx::char_type;
9118
9119
    auto begin = pctx.begin();
9120
    const auto end = pctx.end();
9121
9122
    using handler_type = specs_setter;
9123
    constexpr auto type = arg_type_constant<T, char_type>::value;
9124
    auto checker =
9125
        detail::specs_checker<handler_type>(handler_type(specs), type);
9126
9127
    const auto it =
9128
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
9129
9130
    switch (type) {
9131
        case arg_type::none_type:
9132
            SCN_FALLTHROUGH;
9133
        case arg_type::custom_type:
9134
            SCN_ENSURE(false);
9135
            break;
9136
9137
        case arg_type::bool_type:
9138
            check_bool_type_specs(specs, checker);
9139
            break;
9140
9141
        case arg_type::schar_type:
9142
        case arg_type::short_type:
9143
        case arg_type::int_type:
9144
        case arg_type::long_type:
9145
        case arg_type::llong_type:
9146
        case arg_type::int128_type:
9147
        case arg_type::uchar_type:
9148
        case arg_type::ushort_type:
9149
        case arg_type::uint_type:
9150
        case arg_type::ulong_type:
9151
        case arg_type::ullong_type:
9152
        case arg_type::uint128_type:
9153
            check_int_type_specs(specs, checker);
9154
            break;
9155
9156
        case arg_type::narrow_character_type:
9157
        case arg_type::wide_character_type:
9158
        case arg_type::code_point_type:
9159
            check_char_type_specs(specs, checker);
9160
            break;
9161
9162
        case arg_type::float_type:
9163
        case arg_type::double_type:
9164
        case arg_type::ldouble_type:
9165
        case arg_type::float16_type:
9166
        case arg_type::float32_type:
9167
        case arg_type::float64_type:
9168
        case arg_type::float128_type:
9169
        case arg_type::bfloat16_type:
9170
            check_float_type_specs(specs, checker);
9171
            break;
9172
9173
        case arg_type::narrow_string_type:
9174
        case arg_type::wide_string_type:
9175
        case arg_type::string_view_type:
9176
            check_string_type_specs(specs, checker);
9177
            break;
9178
9179
        case arg_type::pointer_type:
9180
            check_pointer_type_specs(specs, checker);
9181
            break;
9182
9183
            SCN_CLANG_PUSH
9184
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9185
9186
        default:
9187
            SCN_ENSURE(false);
9188
            SCN_UNREACHABLE;
9189
9190
            SCN_CLANG_POP
9191
    }
9192
9193
    if (specs.type == presentation_type::regex ||
9194
        specs.type == presentation_type::regex_escaped) {
9195
        if (!pctx.is_source_contiguous()) {
9196
            SCN_UNLIKELY_ATTR
9197
            // clang-format off
9198
            checker.on_error("Cannot read a regex from a non-contiguous source");
9199
            // clang-format on
9200
        }
9201
        if (!pctx.is_source_borrowed()) {
9202
            SCN_UNLIKELY_ATTR
9203
            checker.on_error("Cannot read a regex from a non-borrowed source");
9204
        }
9205
    }
9206
9207
    return it;
9208
}
9209
}  // namespace detail
9210
9211
/**
9212
 * Type for discarding any scanned value.
9213
 * Example:
9214
 *
9215
 * \code{.cpp}
9216
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
9217
 * // r.has_value() == true
9218
 * // decltype(r->value()) is scn::discard<int>
9219
 * \endcode
9220
 *
9221
 * \ingroup format-string
9222
 */
9223
template <typename T>
9224
struct discard {
9225
    constexpr discard() = default;
9226
9227
    constexpr discard(const T&) noexcept {}
9228
    constexpr discard(T&&) noexcept {}
9229
9230
    constexpr discard& operator=(const T&) noexcept
9231
    {
9232
        return *this;
9233
    }
9234
    constexpr discard& operator=(T&&) noexcept
9235
    {
9236
        return *this;
9237
    }
9238
};
9239
9240
template <typename T, typename CharT>
9241
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
9242
    template <typename Context>
9243
    auto scan(discard<T>&, Context& ctx) const
9244
    {
9245
        T val{};
9246
        return scanner<T, CharT>::scan(val, ctx);
9247
    }
9248
};
9249
9250
namespace detail {
9251
template <typename Range>
9252
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
9253
    Range r,
9254
    bool allow_exhaustion);
9255
9256
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
9257
    extern template scan_expected<Context::iterator>         \
9258
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
9259
9260
#if SCN_HAS_INT128
9261
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)   \
9262
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int128, Context) \
9263
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(uint128, Context)
9264
#else
9265
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context) /* int128 */
9266
#endif
9267
9268
#if SCN_HAS_STD_F16
9269
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) \
9270
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float16_t, Context)
9271
#else
9272
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) /* std::float16_t */
9273
#endif
9274
9275
#if SCN_HAS_STD_F32
9276
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) \
9277
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float32_t, Context)
9278
#else
9279
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) /* std::float32_t */
9280
#endif
9281
9282
#if SCN_HAS_STD_F64
9283
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) \
9284
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float64_t, Context)
9285
#else
9286
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) /* std::float64_t */
9287
#endif
9288
9289
#if SCN_HAS_STD_F128
9290
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context) \
9291
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float128_t, Context)
9292
#else
9293
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)  /* std::float128_t \
9294
                                                            */
9295
#endif
9296
9297
#if SCN_HAS_STD_BF16
9298
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context) \
9299
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::bfloat16_t, Context)
9300
#else
9301
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)  /* std::bfloat16_t \
9302
                                                            */
9303
#endif
9304
9305
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context) \
9306
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context)           \
9307
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context)           \
9308
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context)           \
9309
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)          \
9310
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)
9311
9312
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
9313
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
9314
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
9315
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9316
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9317
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
9318
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
9319
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
9320
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
9321
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
9322
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
9323
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
9324
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
9325
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
9326
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
9327
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
9328
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
9329
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
9330
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
9331
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
9332
        std::basic_string_view<Context::char_type>, Context)               \
9333
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
9334
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
9335
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)                    \
9336
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context)                 \
9337
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
9338
    internal_skip_classic_whitespace(Context::range_type, bool);
9339
9340
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
9341
9342
}  // namespace detail
9343
9344
/////////////////////////////////////////////////////////////////
9345
// visit_scan_arg
9346
/////////////////////////////////////////////////////////////////
9347
9348
namespace detail {
9349
9350
template <typename Visitor, typename Ctx>
9351
constexpr decltype(auto) visit_impl(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9352
369k
{
9353
369k
#define SCN_VISIT(Type)                                                \
9354
369k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
0
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
0
    }                                                                  \
9357
0
    else {                                                             \
9358
0
        return vis(monostate_val);                                     \
9359
0
    }
9360
9361
369k
    monostate monostate_val{};
9362
9363
369k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
0
        case detail::arg_type::int_type:
9369
0
            SCN_VISIT(int);
9370
0
        case detail::arg_type::long_type:
9371
0
            SCN_VISIT(long);
9372
0
        case detail::arg_type::llong_type:
9373
0
            SCN_VISIT(long long);
9374
0
        case detail::arg_type::int128_type:
9375
0
#if SCN_HAS_INT128
9376
0
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
0
        case detail::arg_type::uchar_type:
9381
0
            SCN_VISIT(unsigned char);
9382
0
        case detail::arg_type::ushort_type:
9383
0
            SCN_VISIT(unsigned short);
9384
0
        case detail::arg_type::uint_type:
9385
0
            SCN_VISIT(unsigned);
9386
0
        case detail::arg_type::ulong_type:
9387
0
            SCN_VISIT(unsigned long);
9388
0
        case detail::arg_type::ullong_type:
9389
0
            SCN_VISIT(unsigned long long);
9390
0
        case detail::arg_type::uint128_type:
9391
0
#if SCN_HAS_INT128
9392
0
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
0
        case detail::arg_type::pointer_type:
9397
0
            SCN_VISIT(void*);
9398
0
        case detail::arg_type::bool_type:
9399
0
            SCN_VISIT(bool);
9400
0
        case detail::arg_type::narrow_character_type:
9401
0
            SCN_VISIT(char);
9402
0
        case detail::arg_type::wide_character_type:
9403
0
            SCN_VISIT(wchar_t);
9404
0
        case detail::arg_type::code_point_type:
9405
0
            SCN_VISIT(char32_t);
9406
0
        case detail::arg_type::float_type:
9407
0
            SCN_VISIT(float);
9408
0
        case detail::arg_type::double_type:
9409
0
            SCN_VISIT(double);
9410
0
        case detail::arg_type::ldouble_type:
9411
0
            SCN_VISIT(long double);
9412
0
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
0
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
0
                SCN_VISIT(std::string_view);
9449
            }
9450
0
            else {
9451
0
                SCN_VISIT(std::wstring_view);
9452
0
            }
9453
0
        }
9454
9455
369k
        case detail::arg_type::custom_type:
9456
369k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
369k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
369k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
369k
            SCN_CLANG_POP
9473
369k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9352
2.50k
{
9353
2.50k
#define SCN_VISIT(Type)                                                \
9354
2.50k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
2.50k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
2.50k
    }                                                                  \
9357
2.50k
    else {                                                             \
9358
2.50k
        return vis(monostate_val);                                     \
9359
2.50k
    }
9360
9361
2.50k
    monostate monostate_val{};
9362
9363
2.50k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
0
        case detail::arg_type::int_type:
9369
0
            SCN_VISIT(int);
9370
0
        case detail::arg_type::long_type:
9371
0
            SCN_VISIT(long);
9372
0
        case detail::arg_type::llong_type:
9373
0
            SCN_VISIT(long long);
9374
0
        case detail::arg_type::int128_type:
9375
0
#if SCN_HAS_INT128
9376
0
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
0
        case detail::arg_type::uchar_type:
9381
0
            SCN_VISIT(unsigned char);
9382
0
        case detail::arg_type::ushort_type:
9383
0
            SCN_VISIT(unsigned short);
9384
0
        case detail::arg_type::uint_type:
9385
0
            SCN_VISIT(unsigned);
9386
0
        case detail::arg_type::ulong_type:
9387
0
            SCN_VISIT(unsigned long);
9388
0
        case detail::arg_type::ullong_type:
9389
0
            SCN_VISIT(unsigned long long);
9390
0
        case detail::arg_type::uint128_type:
9391
0
#if SCN_HAS_INT128
9392
0
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
0
        case detail::arg_type::pointer_type:
9397
0
            SCN_VISIT(void*);
9398
0
        case detail::arg_type::bool_type:
9399
0
            SCN_VISIT(bool);
9400
0
        case detail::arg_type::narrow_character_type:
9401
0
            SCN_VISIT(char);
9402
0
        case detail::arg_type::wide_character_type:
9403
0
            SCN_VISIT(wchar_t);
9404
0
        case detail::arg_type::code_point_type:
9405
0
            SCN_VISIT(char32_t);
9406
0
        case detail::arg_type::float_type:
9407
0
            SCN_VISIT(float);
9408
0
        case detail::arg_type::double_type:
9409
0
            SCN_VISIT(double);
9410
0
        case detail::arg_type::ldouble_type:
9411
0
            SCN_VISIT(long double);
9412
0
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
0
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
0
                SCN_VISIT(std::string_view);
9449
            }
9450
            else {
9451
                SCN_VISIT(std::wstring_view);
9452
            }
9453
0
        }
9454
9455
2.50k
        case detail::arg_type::custom_type:
9456
2.50k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
2.50k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
2.50k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
2.50k
            SCN_CLANG_POP
9473
2.50k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9352
2.50k
{
9353
2.50k
#define SCN_VISIT(Type)                                                \
9354
2.50k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
2.50k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
2.50k
    }                                                                  \
9357
2.50k
    else {                                                             \
9358
2.50k
        return vis(monostate_val);                                     \
9359
2.50k
    }
9360
9361
2.50k
    monostate monostate_val{};
9362
9363
2.50k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
0
        case detail::arg_type::int_type:
9369
0
            SCN_VISIT(int);
9370
0
        case detail::arg_type::long_type:
9371
0
            SCN_VISIT(long);
9372
0
        case detail::arg_type::llong_type:
9373
0
            SCN_VISIT(long long);
9374
0
        case detail::arg_type::int128_type:
9375
0
#if SCN_HAS_INT128
9376
0
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
0
        case detail::arg_type::uchar_type:
9381
0
            SCN_VISIT(unsigned char);
9382
0
        case detail::arg_type::ushort_type:
9383
0
            SCN_VISIT(unsigned short);
9384
0
        case detail::arg_type::uint_type:
9385
0
            SCN_VISIT(unsigned);
9386
0
        case detail::arg_type::ulong_type:
9387
0
            SCN_VISIT(unsigned long);
9388
0
        case detail::arg_type::ullong_type:
9389
0
            SCN_VISIT(unsigned long long);
9390
0
        case detail::arg_type::uint128_type:
9391
0
#if SCN_HAS_INT128
9392
0
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
0
        case detail::arg_type::pointer_type:
9397
0
            SCN_VISIT(void*);
9398
0
        case detail::arg_type::bool_type:
9399
0
            SCN_VISIT(bool);
9400
0
        case detail::arg_type::narrow_character_type:
9401
0
            SCN_VISIT(char);
9402
0
        case detail::arg_type::wide_character_type:
9403
0
            SCN_VISIT(wchar_t);
9404
0
        case detail::arg_type::code_point_type:
9405
0
            SCN_VISIT(char32_t);
9406
0
        case detail::arg_type::float_type:
9407
0
            SCN_VISIT(float);
9408
0
        case detail::arg_type::double_type:
9409
0
            SCN_VISIT(double);
9410
0
        case detail::arg_type::ldouble_type:
9411
0
            SCN_VISIT(long double);
9412
0
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
0
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
0
                SCN_VISIT(std::string_view);
9449
            }
9450
            else {
9451
                SCN_VISIT(std::wstring_view);
9452
            }
9453
0
        }
9454
9455
2.50k
        case detail::arg_type::custom_type:
9456
2.50k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
2.50k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
2.50k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
2.50k
            SCN_CLANG_POP
9473
2.50k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9352
171k
{
9353
171k
#define SCN_VISIT(Type)                                                \
9354
171k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
171k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
171k
    }                                                                  \
9357
171k
    else {                                                             \
9358
171k
        return vis(monostate_val);                                     \
9359
171k
    }
9360
9361
171k
    monostate monostate_val{};
9362
9363
171k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
0
        case detail::arg_type::int_type:
9369
0
            SCN_VISIT(int);
9370
0
        case detail::arg_type::long_type:
9371
0
            SCN_VISIT(long);
9372
0
        case detail::arg_type::llong_type:
9373
0
            SCN_VISIT(long long);
9374
0
        case detail::arg_type::int128_type:
9375
0
#if SCN_HAS_INT128
9376
0
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
0
        case detail::arg_type::uchar_type:
9381
0
            SCN_VISIT(unsigned char);
9382
0
        case detail::arg_type::ushort_type:
9383
0
            SCN_VISIT(unsigned short);
9384
0
        case detail::arg_type::uint_type:
9385
0
            SCN_VISIT(unsigned);
9386
0
        case detail::arg_type::ulong_type:
9387
0
            SCN_VISIT(unsigned long);
9388
0
        case detail::arg_type::ullong_type:
9389
0
            SCN_VISIT(unsigned long long);
9390
0
        case detail::arg_type::uint128_type:
9391
0
#if SCN_HAS_INT128
9392
0
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
0
        case detail::arg_type::pointer_type:
9397
0
            SCN_VISIT(void*);
9398
0
        case detail::arg_type::bool_type:
9399
0
            SCN_VISIT(bool);
9400
0
        case detail::arg_type::narrow_character_type:
9401
0
            SCN_VISIT(char);
9402
0
        case detail::arg_type::wide_character_type:
9403
0
            SCN_VISIT(wchar_t);
9404
0
        case detail::arg_type::code_point_type:
9405
0
            SCN_VISIT(char32_t);
9406
0
        case detail::arg_type::float_type:
9407
0
            SCN_VISIT(float);
9408
0
        case detail::arg_type::double_type:
9409
0
            SCN_VISIT(double);
9410
0
        case detail::arg_type::ldouble_type:
9411
0
            SCN_VISIT(long double);
9412
0
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
0
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
0
                SCN_VISIT(std::string_view);
9449
            }
9450
            else {
9451
                SCN_VISIT(std::wstring_view);
9452
            }
9453
0
        }
9454
9455
171k
        case detail::arg_type::custom_type:
9456
171k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
171k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
171k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
171k
            SCN_CLANG_POP
9473
171k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9352
5.00k
{
9353
5.00k
#define SCN_VISIT(Type)                                                \
9354
5.00k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
5.00k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
5.00k
    }                                                                  \
9357
5.00k
    else {                                                             \
9358
5.00k
        return vis(monostate_val);                                     \
9359
5.00k
    }
9360
9361
5.00k
    monostate monostate_val{};
9362
9363
5.00k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
0
        case detail::arg_type::int_type:
9369
0
            SCN_VISIT(int);
9370
0
        case detail::arg_type::long_type:
9371
0
            SCN_VISIT(long);
9372
0
        case detail::arg_type::llong_type:
9373
0
            SCN_VISIT(long long);
9374
0
        case detail::arg_type::int128_type:
9375
0
#if SCN_HAS_INT128
9376
0
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
0
        case detail::arg_type::uchar_type:
9381
0
            SCN_VISIT(unsigned char);
9382
0
        case detail::arg_type::ushort_type:
9383
0
            SCN_VISIT(unsigned short);
9384
0
        case detail::arg_type::uint_type:
9385
0
            SCN_VISIT(unsigned);
9386
0
        case detail::arg_type::ulong_type:
9387
0
            SCN_VISIT(unsigned long);
9388
0
        case detail::arg_type::ullong_type:
9389
0
            SCN_VISIT(unsigned long long);
9390
0
        case detail::arg_type::uint128_type:
9391
0
#if SCN_HAS_INT128
9392
0
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
0
        case detail::arg_type::pointer_type:
9397
0
            SCN_VISIT(void*);
9398
0
        case detail::arg_type::bool_type:
9399
0
            SCN_VISIT(bool);
9400
0
        case detail::arg_type::narrow_character_type:
9401
0
            SCN_VISIT(char);
9402
0
        case detail::arg_type::wide_character_type:
9403
0
            SCN_VISIT(wchar_t);
9404
0
        case detail::arg_type::code_point_type:
9405
0
            SCN_VISIT(char32_t);
9406
0
        case detail::arg_type::float_type:
9407
0
            SCN_VISIT(float);
9408
0
        case detail::arg_type::double_type:
9409
0
            SCN_VISIT(double);
9410
0
        case detail::arg_type::ldouble_type:
9411
0
            SCN_VISIT(long double);
9412
0
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
0
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
                SCN_VISIT(std::string_view);
9449
            }
9450
0
            else {
9451
0
                SCN_VISIT(std::wstring_view);
9452
0
            }
9453
0
        }
9454
9455
5.00k
        case detail::arg_type::custom_type:
9456
5.00k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
5.00k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
5.00k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
5.00k
            SCN_CLANG_POP
9473
5.00k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9352
182k
{
9353
182k
#define SCN_VISIT(Type)                                                \
9354
182k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
182k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
182k
    }                                                                  \
9357
182k
    else {                                                             \
9358
182k
        return vis(monostate_val);                                     \
9359
182k
    }
9360
9361
182k
    monostate monostate_val{};
9362
9363
182k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
0
        case detail::arg_type::int_type:
9369
0
            SCN_VISIT(int);
9370
0
        case detail::arg_type::long_type:
9371
0
            SCN_VISIT(long);
9372
0
        case detail::arg_type::llong_type:
9373
0
            SCN_VISIT(long long);
9374
0
        case detail::arg_type::int128_type:
9375
0
#if SCN_HAS_INT128
9376
0
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
0
        case detail::arg_type::uchar_type:
9381
0
            SCN_VISIT(unsigned char);
9382
0
        case detail::arg_type::ushort_type:
9383
0
            SCN_VISIT(unsigned short);
9384
0
        case detail::arg_type::uint_type:
9385
0
            SCN_VISIT(unsigned);
9386
0
        case detail::arg_type::ulong_type:
9387
0
            SCN_VISIT(unsigned long);
9388
0
        case detail::arg_type::ullong_type:
9389
0
            SCN_VISIT(unsigned long long);
9390
0
        case detail::arg_type::uint128_type:
9391
0
#if SCN_HAS_INT128
9392
0
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
0
        case detail::arg_type::pointer_type:
9397
0
            SCN_VISIT(void*);
9398
0
        case detail::arg_type::bool_type:
9399
0
            SCN_VISIT(bool);
9400
0
        case detail::arg_type::narrow_character_type:
9401
0
            SCN_VISIT(char);
9402
0
        case detail::arg_type::wide_character_type:
9403
0
            SCN_VISIT(wchar_t);
9404
0
        case detail::arg_type::code_point_type:
9405
0
            SCN_VISIT(char32_t);
9406
0
        case detail::arg_type::float_type:
9407
0
            SCN_VISIT(float);
9408
0
        case detail::arg_type::double_type:
9409
0
            SCN_VISIT(double);
9410
0
        case detail::arg_type::ldouble_type:
9411
0
            SCN_VISIT(long double);
9412
0
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
0
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
                SCN_VISIT(std::string_view);
9449
            }
9450
0
            else {
9451
0
                SCN_VISIT(std::wstring_view);
9452
0
            }
9453
0
        }
9454
9455
182k
        case detail::arg_type::custom_type:
9456
182k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
182k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
182k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
182k
            SCN_CLANG_POP
9473
182k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9352
5.00k
{
9353
5.00k
#define SCN_VISIT(Type)                                                \
9354
5.00k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
5.00k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
5.00k
    }                                                                  \
9357
5.00k
    else {                                                             \
9358
5.00k
        return vis(monostate_val);                                     \
9359
5.00k
    }
9360
9361
5.00k
    monostate monostate_val{};
9362
9363
5.00k
    switch (get_arg_type(arg)) {
9364
0
        case detail::arg_type::schar_type:
9365
0
            SCN_VISIT(signed char);
9366
0
        case detail::arg_type::short_type:
9367
0
            SCN_VISIT(short);
9368
0
        case detail::arg_type::int_type:
9369
0
            SCN_VISIT(int);
9370
0
        case detail::arg_type::long_type:
9371
0
            SCN_VISIT(long);
9372
0
        case detail::arg_type::llong_type:
9373
0
            SCN_VISIT(long long);
9374
0
        case detail::arg_type::int128_type:
9375
0
#if SCN_HAS_INT128
9376
0
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
0
        case detail::arg_type::uchar_type:
9381
0
            SCN_VISIT(unsigned char);
9382
0
        case detail::arg_type::ushort_type:
9383
0
            SCN_VISIT(unsigned short);
9384
0
        case detail::arg_type::uint_type:
9385
0
            SCN_VISIT(unsigned);
9386
0
        case detail::arg_type::ulong_type:
9387
0
            SCN_VISIT(unsigned long);
9388
0
        case detail::arg_type::ullong_type:
9389
0
            SCN_VISIT(unsigned long long);
9390
0
        case detail::arg_type::uint128_type:
9391
0
#if SCN_HAS_INT128
9392
0
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
0
        case detail::arg_type::pointer_type:
9397
0
            SCN_VISIT(void*);
9398
0
        case detail::arg_type::bool_type:
9399
0
            SCN_VISIT(bool);
9400
0
        case detail::arg_type::narrow_character_type:
9401
0
            SCN_VISIT(char);
9402
0
        case detail::arg_type::wide_character_type:
9403
0
            SCN_VISIT(wchar_t);
9404
0
        case detail::arg_type::code_point_type:
9405
0
            SCN_VISIT(char32_t);
9406
0
        case detail::arg_type::float_type:
9407
0
            SCN_VISIT(float);
9408
0
        case detail::arg_type::double_type:
9409
0
            SCN_VISIT(double);
9410
0
        case detail::arg_type::ldouble_type:
9411
0
            SCN_VISIT(long double);
9412
0
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
0
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
                SCN_VISIT(std::string_view);
9449
            }
9450
0
            else {
9451
0
                SCN_VISIT(std::wstring_view);
9452
0
            }
9453
0
        }
9454
9455
5.00k
        case detail::arg_type::custom_type:
9456
5.00k
#if !SCN_DISABLE_TYPE_CUSTOM
9457
5.00k
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
5.00k
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
5.00k
            SCN_CLANG_POP
9473
5.00k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
9480
9481
}  // namespace detail
9482
9483
template <typename Visitor, typename Ctx>
9484
[[deprecated("Use basic_scan_arg::visit instead")]] constexpr decltype(auto)
9485
visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9486
{
9487
    return detail::visit_impl(SCN_FWD(vis), arg);
9488
}
9489
9490
template <typename Context>
9491
template <typename Visitor>
9492
constexpr decltype(auto) basic_scan_arg<Context>::visit(Visitor&& vis)
9493
369k
{
9494
369k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
369k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9493
2.50k
{
9494
2.50k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
2.50k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9493
2.50k
{
9494
2.50k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
2.50k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9493
171k
{
9494
171k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
171k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9493
5.00k
{
9494
5.00k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
5.00k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9493
182k
{
9494
182k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
182k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9493
5.00k
{
9494
5.00k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
5.00k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
9496
9497
template <typename Context>
9498
template <typename R, typename Visitor>
9499
constexpr R basic_scan_arg<Context>::visit(Visitor&& vis)
9500
{
9501
    return detail::visit_impl(SCN_FWD(vis), *this);
9502
}
9503
9504
/////////////////////////////////////////////////////////////////
9505
// vscan
9506
/////////////////////////////////////////////////////////////////
9507
9508
/**
9509
 * \defgroup vscan Type-erased scanning API
9510
 *
9511
 * \brief Lower-level scanning API with type-erased arguments
9512
 */
9513
9514
namespace detail {
9515
template <typename Source>
9516
using scan_result_value_type =
9517
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
9518
                       std::FILE*,
9519
                       borrowed_tail_subrange_t<Source>>;
9520
}
9521
9522
/**
9523
 * Result type returned by `vscan`.
9524
 *
9525
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
9526
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
9527
 *
9528
 * \ingroup vscan
9529
 */
9530
template <typename Source>
9531
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
9532
9533
namespace detail {
9534
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
9535
                                         std::string_view format,
9536
                                         scan_args args);
9537
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
9538
                                         std::string_view format,
9539
                                         scan_args args);
9540
9541
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
9542
                                         std::wstring_view format,
9543
                                         wscan_args args);
9544
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
9545
                                         std::wstring_view format,
9546
                                         wscan_args args);
9547
9548
#if !SCN_DISABLE_LOCALE
9549
template <typename Locale>
9550
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9551
                                                   std::string_view source,
9552
                                                   std::string_view format,
9553
                                                   scan_args args);
9554
template <typename Locale>
9555
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9556
                                                   scan_buffer& source,
9557
                                                   std::string_view format,
9558
                                                   scan_args args);
9559
9560
template <typename Locale>
9561
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9562
                                                   std::wstring_view source,
9563
                                                   std::wstring_view format,
9564
                                                   wscan_args args);
9565
template <typename Locale>
9566
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9567
                                                   wscan_buffer& source,
9568
                                                   std::wstring_view format,
9569
                                                   wscan_args args);
9570
#endif
9571
9572
scan_expected<std::ptrdiff_t> vscan_value_impl(
9573
    std::string_view source,
9574
    basic_scan_arg<scan_context> arg);
9575
scan_expected<std::ptrdiff_t> vscan_value_impl(
9576
    scan_buffer& source,
9577
    basic_scan_arg<scan_context> arg);
9578
9579
scan_expected<std::ptrdiff_t> vscan_value_impl(
9580
    std::wstring_view source,
9581
    basic_scan_arg<wscan_context> arg);
9582
scan_expected<std::ptrdiff_t> vscan_value_impl(
9583
    wscan_buffer& source,
9584
    basic_scan_arg<wscan_context> arg);
9585
9586
template <typename Range, typename CharT>
9587
auto vscan_generic(Range&& range,
9588
                   std::basic_string_view<CharT> format,
9589
                   basic_scan_args<detail::default_context<CharT>> args)
9590
    -> vscan_result<Range>
9591
177k
{
9592
177k
    auto buffer = make_scan_buffer(range);
9593
9594
177k
    auto result = vscan_impl(buffer, format, args);
9595
177k
    if (SCN_UNLIKELY(!result)) {
9596
105k
        return unexpected(result.error());
9597
105k
    }
9598
72.0k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
177k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9591
38.8k
{
9592
38.8k
    auto buffer = make_scan_buffer(range);
9593
9594
38.8k
    auto result = vscan_impl(buffer, format, args);
9595
38.8k
    if (SCN_UNLIKELY(!result)) {
9596
17.5k
        return unexpected(result.error());
9597
17.5k
    }
9598
21.3k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
38.8k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9591
47.0k
{
9592
47.0k
    auto buffer = make_scan_buffer(range);
9593
9594
47.0k
    auto result = vscan_impl(buffer, format, args);
9595
47.0k
    if (SCN_UNLIKELY(!result)) {
9596
17.5k
        return unexpected(result.error());
9597
17.5k
    }
9598
29.5k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
47.0k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9591
45.5k
{
9592
45.5k
    auto buffer = make_scan_buffer(range);
9593
9594
45.5k
    auto result = vscan_impl(buffer, format, args);
9595
45.5k
    if (SCN_UNLIKELY(!result)) {
9596
35.0k
        return unexpected(result.error());
9597
35.0k
    }
9598
10.5k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
45.5k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9591
45.5k
{
9592
45.5k
    auto buffer = make_scan_buffer(range);
9593
9594
45.5k
    auto result = vscan_impl(buffer, format, args);
9595
45.5k
    if (SCN_UNLIKELY(!result)) {
9596
35.0k
        return unexpected(result.error());
9597
35.0k
    }
9598
10.5k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
45.5k
}
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS3_17basic_string_viewIT0_NS5_ISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
9600
9601
template <typename Locale, typename Range, typename CharT>
9602
auto vscan_localized_generic(
9603
    const Locale& loc,
9604
    Range&& range,
9605
    std::basic_string_view<CharT> format,
9606
    basic_scan_args<detail::default_context<CharT>> args) -> vscan_result<Range>
9607
177k
{
9608
177k
#if !SCN_DISABLE_LOCALE
9609
177k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
177k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
177k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
177k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
177k
    if (SCN_UNLIKELY(!result)) {
9616
105k
        return unexpected(result.error());
9617
105k
    }
9618
72.0k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
177k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9607
38.8k
{
9608
38.8k
#if !SCN_DISABLE_LOCALE
9609
38.8k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
38.8k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
38.8k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
38.8k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
38.8k
    if (SCN_UNLIKELY(!result)) {
9616
17.5k
        return unexpected(result.error());
9617
17.5k
    }
9618
21.3k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
38.8k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9607
47.0k
{
9608
47.0k
#if !SCN_DISABLE_LOCALE
9609
47.0k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
47.0k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
47.0k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
47.0k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
47.0k
    if (SCN_UNLIKELY(!result)) {
9616
17.5k
        return unexpected(result.error());
9617
17.5k
    }
9618
29.5k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
47.0k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9607
45.5k
{
9608
45.5k
#if !SCN_DISABLE_LOCALE
9609
45.5k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
45.5k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
45.5k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
45.5k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
45.5k
    if (SCN_UNLIKELY(!result)) {
9616
35.0k
        return unexpected(result.error());
9617
35.0k
    }
9618
10.5k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
45.5k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9607
45.5k
{
9608
45.5k
#if !SCN_DISABLE_LOCALE
9609
45.5k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
45.5k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
45.5k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
45.5k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
45.5k
    if (SCN_UNLIKELY(!result)) {
9616
35.0k
        return unexpected(result.error());
9617
35.0k
    }
9618
10.5k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
45.5k
}
9626
9627
template <typename Range, typename CharT>
9628
auto vscan_value_generic(Range&& range,
9629
                         basic_scan_arg<detail::default_context<CharT>> arg)
9630
    -> vscan_result<Range>
9631
15.0k
{
9632
15.0k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
15.0k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
15.0k
    if (SCN_UNLIKELY(!result)) {
9636
15.0k
        return unexpected(result.error());
9637
15.0k
    }
9638
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
15.0k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9631
2.50k
{
9632
2.50k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
2.50k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
2.50k
    if (SCN_UNLIKELY(!result)) {
9636
2.50k
        return unexpected(result.error());
9637
2.50k
    }
9638
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
2.50k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9631
2.50k
{
9632
2.50k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
2.50k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
2.50k
    if (SCN_UNLIKELY(!result)) {
9636
2.50k
        return unexpected(result.error());
9637
2.50k
    }
9638
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
2.50k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9631
5.00k
{
9632
5.00k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
5.00k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
5.00k
    if (SCN_UNLIKELY(!result)) {
9636
5.00k
        return unexpected(result.error());
9637
5.00k
    }
9638
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
5.00k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9631
5.00k
{
9632
5.00k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
5.00k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
5.00k
    if (SCN_UNLIKELY(!result)) {
9636
5.00k
        return unexpected(result.error());
9637
5.00k
    }
9638
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
5.00k
}
9640
}  // namespace detail
9641
9642
SCN_GCC_PUSH
9643
SCN_GCC_IGNORE("-Wnoexcept")
9644
9645
/**
9646
 * Perform actual scanning from `source`, according to `format`, into the
9647
 * type-erased arguments at `args`. Called by `scan`.
9648
 *
9649
 * \ingroup vscan
9650
 */
9651
template <typename Source>
9652
auto vscan(Source&& source, std::string_view format, scan_args args)
9653
    -> vscan_result<Source>
9654
85.9k
{
9655
85.9k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9656
85.9k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9654
38.8k
{
9655
38.8k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9656
38.8k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9654
47.0k
{
9655
47.0k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9656
47.0k
}
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS6_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS6_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanIRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS2_17basic_string_viewIcS5_EENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
9657
9658
/**
9659
 * Perform actual scanning from `source`, according to `format`, into the
9660
 * type-erased arguments at `args`, using `loc`, if requested. Called by
9661
 * `scan`.
9662
 *
9663
 * \ingroup locale
9664
 */
9665
template <typename Source,
9666
          typename Locale,
9667
          typename = std::void_t<decltype(Locale::classic())>>
9668
auto vscan(const Locale& loc,
9669
           Source&& source,
9670
           std::string_view format,
9671
           scan_args args) -> vscan_result<Source>
9672
85.9k
{
9673
85.9k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9674
85.9k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSI_16buffer_range_tagEcEEEE
Line
Count
Source
9672
38.8k
{
9673
38.8k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9674
38.8k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSN_16buffer_range_tagEcEEEE
Line
Count
Source
9672
47.0k
{
9673
47.0k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9674
47.0k
}
9675
9676
/**
9677
 * Perform actual scanning from `source` into the type-erased argument at
9678
 * `arg`. Called by `scan_value`.
9679
 *
9680
 * \ingroup vscan
9681
 */
9682
template <typename Source>
9683
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
9684
    -> vscan_result<Source>
9685
5.00k
{
9686
5.00k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9687
5.00k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9685
2.50k
{
9686
2.50k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9687
2.50k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9685
2.50k
{
9686
2.50k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9687
2.50k
}
9688
9689
/**
9690
 * Perform actual scanning from `stdin`, according to `format`, into the
9691
 * type-erased arguments at `args`. Called by `input`.
9692
 *
9693
 * \ingroup vscan
9694
 */
9695
scan_expected<void> vinput(std::string_view format, scan_args args);
9696
9697
namespace detail {
9698
template <typename T>
9699
auto scan_int_impl(std::string_view source, T& value, int base)
9700
    -> scan_expected<std::string_view::iterator>;
9701
9702
template <typename T>
9703
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
9704
9705
#if !SCN_DISABLE_TYPE_SCHAR
9706
extern template auto scan_int_impl(std::string_view source,
9707
                                   signed char& value,
9708
                                   int base)
9709
    -> scan_expected<std::string_view::iterator>;
9710
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9711
    -> signed char;
9712
#endif
9713
#if !SCN_DISABLE_TYPE_SHORT
9714
extern template auto scan_int_impl(std::string_view source,
9715
                                   short& value,
9716
                                   int base)
9717
    -> scan_expected<std::string_view::iterator>;
9718
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
9719
#endif
9720
#if !SCN_DISABLE_TYPE_INT
9721
extern template auto scan_int_impl(std::string_view source,
9722
                                   int& value,
9723
                                   int base)
9724
    -> scan_expected<std::string_view::iterator>;
9725
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
9726
#endif
9727
#if !SCN_DISABLE_TYPE_LONG
9728
extern template auto scan_int_impl(std::string_view source,
9729
                                   long& value,
9730
                                   int base)
9731
    -> scan_expected<std::string_view::iterator>;
9732
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
9733
#endif
9734
#if !SCN_DISABLE_TYPE_LONG_LONG
9735
extern template auto scan_int_impl(std::string_view source,
9736
                                   long long& value,
9737
                                   int base)
9738
    -> scan_expected<std::string_view::iterator>;
9739
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9740
    -> long long;
9741
#endif
9742
#if !SCN_DISABLE_TYPE_UCHAR
9743
extern template auto scan_int_impl(std::string_view source,
9744
                                   unsigned char& value,
9745
                                   int base)
9746
    -> scan_expected<std::string_view::iterator>;
9747
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9748
    -> unsigned char;
9749
#endif
9750
#if !SCN_DISABLE_TYPE_USHORT
9751
extern template auto scan_int_impl(std::string_view source,
9752
                                   unsigned short& value,
9753
                                   int base)
9754
    -> scan_expected<std::string_view::iterator>;
9755
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9756
    -> unsigned short;
9757
#endif
9758
#if !SCN_DISABLE_TYPE_UINT
9759
extern template auto scan_int_impl(std::string_view source,
9760
                                   unsigned int& value,
9761
                                   int base)
9762
    -> scan_expected<std::string_view::iterator>;
9763
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9764
    -> unsigned int;
9765
#endif
9766
#if !SCN_DISABLE_TYPE_ULONG
9767
extern template auto scan_int_impl(std::string_view source,
9768
                                   unsigned long& value,
9769
                                   int base)
9770
    -> scan_expected<std::string_view::iterator>;
9771
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9772
    -> unsigned long;
9773
#endif
9774
#if !SCN_DISABLE_TYPE_ULONG_LONG
9775
extern template auto scan_int_impl(std::string_view source,
9776
                                   unsigned long long& value,
9777
                                   int base)
9778
    -> scan_expected<std::string_view::iterator>;
9779
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9780
    -> unsigned long long;
9781
#endif
9782
9783
#if SCN_HAS_INT128
9784
9785
#if !SCN_DISABLE_TYPE_INT128
9786
extern template auto scan_int_impl(std::string_view source,
9787
                                   int128& value,
9788
                                   int base)
9789
    -> scan_expected<std::string_view::iterator>;
9790
#endif
9791
9792
#if !SCN_DISABLE_TYPE_UINT128
9793
extern template auto scan_int_impl(std::string_view source,
9794
                                   uint128& value,
9795
                                   int base)
9796
    -> scan_expected<std::string_view::iterator>;
9797
#endif
9798
9799
#endif  // SCN_HAS_INT128
9800
9801
}  // namespace detail
9802
9803
SCN_GCC_POP  // -Wnoexcept
9804
9805
    // dummy namespace to reset formatting
9806
    namespace detail
9807
{
9808
}
9809
9810
/////////////////////////////////////////////////////////////////
9811
// scan
9812
/////////////////////////////////////////////////////////////////
9813
9814
/**
9815
 * The return type of `scan`, based on the type of the source, and the
9816
 * types of the scanned arguments.
9817
 */
9818
template <typename Source, typename... Args>
9819
using scan_result_type =
9820
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
9821
9822
/**
9823
 * If `in` contains a successful result as returned from `vscan`,
9824
 * the range contained in `out` is set to `*in`.
9825
 * Otherwise, `unexpected(in.error())` is stored in `out`.
9826
 */
9827
template <typename Result,
9828
          typename Range,
9829
          std::enable_if_t<std::conjunction_v<
9830
              detail::is_specialization_of<Result, scan_result>,
9831
              std::is_same<typename Result::range_type, Range>>>* = nullptr>
9832
void fill_scan_result(scan_expected<Result>& out, scan_expected<Range>&& in)
9833
369k
{
9834
369k
    if (SCN_UNLIKELY(!in)) {
9835
225k
        out = unexpected(in.error());
9836
225k
    }
9837
144k
    else {
9838
144k
        out->set_range(SCN_MOVE(*in));
9839
144k
    }
9840
369k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJ2tmEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9833
26.7k
{
9834
26.7k
    if (SCN_UNLIKELY(!in)) {
9835
12.5k
        out = unexpected(in.error());
9836
12.5k
    }
9837
14.2k
    else {
9838
14.2k
        out->set_range(SCN_MOVE(*in));
9839
14.2k
    }
9840
26.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_10tm_with_tzEEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9833
26.7k
{
9834
26.7k
    if (SCN_UNLIKELY(!in)) {
9835
12.5k
        out = unexpected(in.error());
9836
12.5k
    }
9837
14.2k
    else {
9838
14.2k
        out->set_range(SCN_MOVE(*in));
9839
14.2k
    }
9840
26.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_19datetime_componentsEEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9833
26.7k
{
9834
26.7k
    if (SCN_UNLIKELY(!in)) {
9835
12.5k
        out = unexpected(in.error());
9836
12.5k
    }
9837
14.2k
    else {
9838
14.2k
        out->set_range(SCN_MOVE(*in));
9839
14.2k
    }
9840
26.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJ2tmEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
32.2k
{
9834
32.2k
    if (SCN_UNLIKELY(!in)) {
9835
12.5k
        out = unexpected(in.error());
9836
12.5k
    }
9837
19.7k
    else {
9838
19.7k
        out->set_range(SCN_MOVE(*in));
9839
19.7k
    }
9840
32.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_10tm_with_tzEEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
32.2k
{
9834
32.2k
    if (SCN_UNLIKELY(!in)) {
9835
12.5k
        out = unexpected(in.error());
9836
12.5k
    }
9837
19.7k
    else {
9838
19.7k
        out->set_range(SCN_MOVE(*in));
9839
19.7k
    }
9840
32.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_19datetime_componentsEEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
32.2k
{
9834
32.2k
    if (SCN_UNLIKELY(!in)) {
9835
12.5k
        out = unexpected(in.error());
9836
12.5k
    }
9837
19.7k
    else {
9838
19.7k
        out->set_range(SCN_MOVE(*in));
9839
19.7k
    }
9840
32.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJ2tmEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9833
32.0k
{
9834
32.0k
    if (SCN_UNLIKELY(!in)) {
9835
25.0k
        out = unexpected(in.error());
9836
25.0k
    }
9837
7.03k
    else {
9838
7.03k
        out->set_range(SCN_MOVE(*in));
9839
7.03k
    }
9840
32.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_10tm_with_tzEEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9833
32.0k
{
9834
32.0k
    if (SCN_UNLIKELY(!in)) {
9835
25.0k
        out = unexpected(in.error());
9836
25.0k
    }
9837
7.03k
    else {
9838
7.03k
        out->set_range(SCN_MOVE(*in));
9839
7.03k
    }
9840
32.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_19datetime_componentsEEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9833
32.0k
{
9834
32.0k
    if (SCN_UNLIKELY(!in)) {
9835
25.0k
        out = unexpected(in.error());
9836
25.0k
    }
9837
7.03k
    else {
9838
7.03k
        out->set_range(SCN_MOVE(*in));
9839
7.03k
    }
9840
32.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJ2tmEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
32.0k
{
9834
32.0k
    if (SCN_UNLIKELY(!in)) {
9835
25.0k
        out = unexpected(in.error());
9836
25.0k
    }
9837
7.03k
    else {
9838
7.03k
        out->set_range(SCN_MOVE(*in));
9839
7.03k
    }
9840
32.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_10tm_with_tzEEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
32.0k
{
9834
32.0k
    if (SCN_UNLIKELY(!in)) {
9835
25.0k
        out = unexpected(in.error());
9836
25.0k
    }
9837
7.03k
    else {
9838
7.03k
        out->set_range(SCN_MOVE(*in));
9839
7.03k
    }
9840
32.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_19datetime_componentsEEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9833
32.0k
{
9834
32.0k
    if (SCN_UNLIKELY(!in)) {
9835
25.0k
        out = unexpected(in.error());
9836
25.0k
    }
9837
7.03k
    else {
9838
7.03k
        out->set_range(SCN_MOVE(*in));
9839
7.03k
    }
9840
32.0k
}
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEESB_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
9841
9842
/**
9843
 * Returns an empty result type for a source of type `Source`, and arguments of
9844
 * type `Args...`.
9845
 */
9846
template <typename Source, typename... Args>
9847
auto make_scan_result()
9848
369k
{
9849
369k
    return scan_result_type<Source, Args...>();
9850
369k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>()
Line
Count
Source
9848
26.7k
{
9849
26.7k
    return scan_result_type<Source, Args...>();
9850
26.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>()
Line
Count
Source
9848
26.7k
{
9849
26.7k
    return scan_result_type<Source, Args...>();
9850
26.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>()
Line
Count
Source
9848
26.7k
{
9849
26.7k
    return scan_result_type<Source, Args...>();
9850
26.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>()
Line
Count
Source
9848
32.2k
{
9849
32.2k
    return scan_result_type<Source, Args...>();
9850
32.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>()
Line
Count
Source
9848
32.2k
{
9849
32.2k
    return scan_result_type<Source, Args...>();
9850
32.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>()
Line
Count
Source
9848
32.2k
{
9849
32.2k
    return scan_result_type<Source, Args...>();
9850
32.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>()
Line
Count
Source
9848
32.0k
{
9849
32.0k
    return scan_result_type<Source, Args...>();
9850
32.0k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>()
Line
Count
Source
9848
32.0k
{
9849
32.0k
    return scan_result_type<Source, Args...>();
9850
32.0k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>()
Line
Count
Source
9848
32.0k
{
9849
32.0k
    return scan_result_type<Source, Args...>();
9850
32.0k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>()
Line
Count
Source
9848
32.0k
{
9849
32.0k
    return scan_result_type<Source, Args...>();
9850
32.0k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>()
Line
Count
Source
9848
32.0k
{
9849
32.0k
    return scan_result_type<Source, Args...>();
9850
32.0k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>()
Line
Count
Source
9848
32.0k
{
9849
32.0k
    return scan_result_type<Source, Args...>();
9850
32.0k
}
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
9851
9852
template <typename Source, typename... Args>
9853
auto make_scan_result(std::tuple<Args...>&& initial_values)
9854
{
9855
    using type = scan_result_type<Source, Args...>;
9856
    using subrange_type = typename type::value_type::range_type;
9857
    return type{std::in_place, subrange_type{}, SCN_MOVE(initial_values)};
9858
}
9859
9860
/**
9861
 * \defgroup scan Basic scanning API
9862
 *
9863
 * \brief The core public-facing interface of the library
9864
 *
9865
 * The following functions use a format string syntax similar to that of
9866
 * `std::format`. See more at \ref format-string.
9867
 *
9868
 * When these functions take a `source` as input, it must
9869
 * model the `scannable_source` concept. See more at \ref scannable.
9870
 */
9871
9872
/**
9873
 * Scans `Args...` from `source`, according to the
9874
 * specifications given in the format string (`format`).
9875
 * Returns the resulting values in an object of type `scan_result`,
9876
 * alongside a `subrange` pointing to the unused input.
9877
 *
9878
 * Example:
9879
 * \code{.cpp}
9880
 * if (auto result = scn::scan<int>("123", "{}"))
9881
 *     int value = result->value();
9882
 * \endcode
9883
 *
9884
 * \ingroup scan
9885
 */
9886
template <typename... Args,
9887
          typename Source,
9888
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9889
SCN_NODISCARD auto scan(Source&& source,
9890
                        scan_format_string<Source, Args...> format)
9891
    -> scan_result_type<Source, Args...>
9892
85.9k
{
9893
85.9k
    auto result = make_scan_result<Source, Args...>();
9894
85.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
85.9k
                                   make_scan_args(result->values())));
9896
85.9k
    return result;
9897
85.9k
}
_ZN3scn2v44scanIJ2tmENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEEOSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSV_ISP_E4typeEEEE
Line
Count
Source
9892
12.9k
{
9893
12.9k
    auto result = make_scan_result<Source, Args...>();
9894
12.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
12.9k
                                   make_scan_args(result->values())));
9896
12.9k
    return result;
9897
12.9k
}
_ZN3scn2v44scanIJNS0_10tm_with_tzEENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEEOSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSV_ISP_E4typeEEEE
Line
Count
Source
9892
12.9k
{
9893
12.9k
    auto result = make_scan_result<Source, Args...>();
9894
12.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
12.9k
                                   make_scan_args(result->values())));
9896
12.9k
    return result;
9897
12.9k
}
_ZN3scn2v44scanIJNS0_19datetime_componentsEENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEEOSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSV_ISP_E4typeEEEE
Line
Count
Source
9892
12.9k
{
9893
12.9k
    auto result = make_scan_result<Source, Args...>();
9894
12.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
12.9k
                                   make_scan_args(result->values())));
9896
12.9k
    return result;
9897
12.9k
}
_ZN3scn2v44scanIJ2tmENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
9892
15.6k
{
9893
15.6k
    auto result = make_scan_result<Source, Args...>();
9894
15.6k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
15.6k
                                   make_scan_args(result->values())));
9896
15.6k
    return result;
9897
15.6k
}
_ZN3scn2v44scanIJNS0_10tm_with_tzEENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
9892
15.6k
{
9893
15.6k
    auto result = make_scan_result<Source, Args...>();
9894
15.6k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
15.6k
                                   make_scan_args(result->values())));
9896
15.6k
    return result;
9897
15.6k
}
_ZN3scn2v44scanIJNS0_19datetime_componentsEENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
9892
15.6k
{
9893
15.6k
    auto result = make_scan_result<Source, Args...>();
9894
15.6k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
15.6k
                                   make_scan_args(result->values())));
9896
15.6k
    return result;
9897
15.6k
}
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESQ_NSD_22borrowed_tail_subrangeISM_Xsr6rangesE14borrowed_rangeISM_EEE4typeEE4typeEJDpT_EEEEEOSM_NS0_24basic_scan_format_stringIcNSD_13type_identityISM_E4typeEJDpNS12_ISW_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJdERNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
9898
9899
/**
9900
 * `scan` with explicitly supplied default values
9901
 *
9902
 * Can be used, for example, for pre-allocating a scanned string:
9903
 *
9904
 * \code{.cpp}
9905
 * std::string str;
9906
 * str.reserve(64);
9907
 *
9908
 * // As long as the read string fits in `str`,
9909
 * // does not allocate
9910
 * auto result = scn::scan<std::string>(source, "{}",
9911
 *                                      {std::move(str)});
9912
 * // Access the read string with result->value()
9913
 * \endcode
9914
 *
9915
 * \ingroup scan
9916
 */
9917
template <typename... Args,
9918
          typename Source,
9919
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9920
SCN_NODISCARD auto scan(Source&& source,
9921
                        scan_format_string<Source, Args...> format,
9922
                        std::tuple<Args...>&& initial_args)
9923
    -> scan_result_type<Source, Args...>
9924
{
9925
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9926
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9927
                                   make_scan_args(result->values())));
9928
    return result;
9929
}
9930
9931
/**
9932
 * \defgroup locale Localization
9933
 *
9934
 * \brief Scanning APIs that allow passing in a locale
9935
 */
9936
9937
/**
9938
 * `scan` using an explicit locale.
9939
 *
9940
 * Has no effect on its own, locale-specific scanning still needs to be
9941
 * opted-into on an argument-by-argument basis, with the `L` format string
9942
 * specifier.
9943
 *
9944
 * \code{.cpp}
9945
 * auto result = scn::scan<double>(
9946
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
9947
 * // result->value() == 3.14
9948
 * \endcode
9949
 *
9950
 * \ingroup locale
9951
 */
9952
template <typename... Args,
9953
          typename Locale,
9954
          typename Source,
9955
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9956
          typename = std::void_t<decltype(Locale::classic())>>
9957
SCN_NODISCARD auto scan(const Locale& loc,
9958
                        Source&& source,
9959
                        scan_format_string<Source, Args...> format)
9960
    -> scan_result_type<Source, Args...>
9961
85.9k
{
9962
85.9k
    auto result = make_scan_result<Source, Args...>();
9963
85.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
85.9k
                                   make_scan_args(result->values())));
9965
85.9k
    return result;
9966
85.9k
}
_ZN3scn2v44scanIJ2tmENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEERKT0_OSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSZ_ISQ_E4typeEEEE
Line
Count
Source
9961
12.9k
{
9962
12.9k
    auto result = make_scan_result<Source, Args...>();
9963
12.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
12.9k
                                   make_scan_args(result->values())));
9965
12.9k
    return result;
9966
12.9k
}
_ZN3scn2v44scanIJNS0_10tm_with_tzEENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEERKT0_OSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSZ_ISQ_E4typeEEEE
Line
Count
Source
9961
12.9k
{
9962
12.9k
    auto result = make_scan_result<Source, Args...>();
9963
12.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
12.9k
                                   make_scan_args(result->values())));
9965
12.9k
    return result;
9966
12.9k
}
_ZN3scn2v44scanIJNS0_19datetime_componentsEENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEERKT0_OSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSZ_ISQ_E4typeEEEE
Line
Count
Source
9961
12.9k
{
9962
12.9k
    auto result = make_scan_result<Source, Args...>();
9963
12.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
12.9k
                                   make_scan_args(result->values())));
9965
12.9k
    return result;
9966
12.9k
}
_ZN3scn2v44scanIJ2tmENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
9961
15.6k
{
9962
15.6k
    auto result = make_scan_result<Source, Args...>();
9963
15.6k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
15.6k
                                   make_scan_args(result->values())));
9965
15.6k
    return result;
9966
15.6k
}
_ZN3scn2v44scanIJNS0_10tm_with_tzEENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
9961
15.6k
{
9962
15.6k
    auto result = make_scan_result<Source, Args...>();
9963
15.6k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
15.6k
                                   make_scan_args(result->values())));
9965
15.6k
    return result;
9966
15.6k
}
_ZN3scn2v44scanIJNS0_19datetime_componentsEENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
9961
15.6k
{
9962
15.6k
    auto result = make_scan_result<Source, Args...>();
9963
15.6k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
15.6k
                                   make_scan_args(result->values())));
9965
15.6k
    return result;
9966
15.6k
}
9967
9968
/**
9969
 * `scan` with a locale and default values
9970
 *
9971
 * \ingroup locale
9972
 */
9973
template <typename... Args,
9974
          typename Locale,
9975
          typename Source,
9976
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9977
          typename = std::void_t<decltype(Locale::classic())>>
9978
SCN_NODISCARD auto scan(const Locale& loc,
9979
                        Source&& source,
9980
                        scan_format_string<Source, Args...> format,
9981
                        std::tuple<Args...>&& initial_args)
9982
    -> scan_result_type<Source, Args...>
9983
{
9984
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9985
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9986
                                   make_scan_args(result->values())));
9987
    return result;
9988
}
9989
9990
/**
9991
 * `scan` a single value, with default options.
9992
 *
9993
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
9994
 * except it can skip parsing the format string, gaining performance.
9995
 *
9996
 * \ingroup scan
9997
 */
9998
template <typename T,
9999
          typename Source,
10000
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
10001
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
10002
5.00k
{
10003
5.00k
    auto result = make_scan_result<Source, T>();
10004
5.00k
    fill_scan_result(
10005
5.00k
        result, vscan_value(SCN_FWD(source),
10006
5.00k
                            detail::make_arg<scan_context>(result->value())));
10007
5.00k
    return result;
10008
5.00k
}
_ZN3scn2v410scan_valueI2tmNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJT_EEEEEOSE_
Line
Count
Source
10002
834
{
10003
834
    auto result = make_scan_result<Source, T>();
10004
834
    fill_scan_result(
10005
834
        result, vscan_value(SCN_FWD(source),
10006
834
                            detail::make_arg<scan_context>(result->value())));
10007
834
    return result;
10008
834
}
_ZN3scn2v410scan_valueINS0_10tm_with_tzENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJT_EEEEEOSE_
Line
Count
Source
10002
834
{
10003
834
    auto result = make_scan_result<Source, T>();
10004
834
    fill_scan_result(
10005
834
        result, vscan_value(SCN_FWD(source),
10006
834
                            detail::make_arg<scan_context>(result->value())));
10007
834
    return result;
10008
834
}
_ZN3scn2v410scan_valueINS0_19datetime_componentsENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJT_EEEEEOSE_
Line
Count
Source
10002
834
{
10003
834
    auto result = make_scan_result<Source, T>();
10004
834
    fill_scan_result(
10005
834
        result, vscan_value(SCN_FWD(source),
10006
834
                            detail::make_arg<scan_context>(result->value())));
10007
834
    return result;
10008
834
}
_ZN3scn2v410scan_valueI2tmNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
10002
834
{
10003
834
    auto result = make_scan_result<Source, T>();
10004
834
    fill_scan_result(
10005
834
        result, vscan_value(SCN_FWD(source),
10006
834
                            detail::make_arg<scan_context>(result->value())));
10007
834
    return result;
10008
834
}
_ZN3scn2v410scan_valueINS0_10tm_with_tzENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
10002
834
{
10003
834
    auto result = make_scan_result<Source, T>();
10004
834
    fill_scan_result(
10005
834
        result, vscan_value(SCN_FWD(source),
10006
834
                            detail::make_arg<scan_context>(result->value())));
10007
834
    return result;
10008
834
}
_ZN3scn2v410scan_valueINS0_19datetime_componentsENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
10002
834
{
10003
834
    auto result = make_scan_result<Source, T>();
10004
834
    fill_scan_result(
10005
834
        result, vscan_value(SCN_FWD(source),
10006
834
                            detail::make_arg<scan_context>(result->value())));
10007
834
    return result;
10008
834
}
10009
10010
/**
10011
 * `scan` a single value, with default options, and a default value.
10012
 *
10013
 * \ingroup scan
10014
 */
10015
template <typename T,
10016
          typename Source,
10017
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
10018
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
10019
    -> scan_result_type<Source, T>
10020
{
10021
    auto result =
10022
        make_scan_result<Source>(std::tuple<T>{SCN_MOVE(initial_value)});
10023
    fill_scan_result(
10024
        result, vscan_value(SCN_FWD(source),
10025
                            detail::make_arg<scan_context>(result->value())));
10026
    return result;
10027
}
10028
10029
/**
10030
 * Scan from `stdin`.
10031
 *
10032
 * Equivalent to `scn::scan<...>(stdin, ...)`.
10033
 *
10034
 * \code{.cpp}
10035
 * auto result = scn::input<int>("{}");
10036
 * \endcode
10037
 *
10038
 * \ingroup scan
10039
 */
10040
template <typename... Args>
10041
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
10042
    -> scan_result_type<std::FILE*, Args...>
10043
{
10044
    auto result = scan_result_type<std::FILE*, Args...>(std::in_place, stdin,
10045
                                                        std::tuple<Args...>{});
10046
    auto err = vinput(format, make_scan_args(result->values()));
10047
    if (SCN_UNLIKELY(!err)) {
10048
        result = unexpected(err.error());
10049
    }
10050
    return result;
10051
}
10052
10053
/**
10054
 * Write msg to stdout, and call `input<Args...>(format)`
10055
 *
10056
 * \ingroup scan
10057
 */
10058
template <typename... Args>
10059
SCN_NODISCARD auto prompt(const char* msg,
10060
                          scan_format_string<std::FILE*, Args...> format)
10061
    -> scan_result_type<std::FILE*, Args...>
10062
{
10063
    std::printf("%s", msg);
10064
    std::fflush(stdout);
10065
    return input<Args...>(format);
10066
}
10067
10068
namespace detail {
10069
template <typename T>
10070
inline constexpr bool is_scan_int_type =
10071
    (std::is_integral_v<T> && !std::is_same_v<T, char> &&
10072
     !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
10073
     !std::is_same_v<T, bool>)
10074
#if SCN_HAS_INT128
10075
    || std::is_same_v<T, SCN_INT128_TYPE> || std::is_same_v<T, SCN_UINT128_TYPE>
10076
#endif
10077
    ;
10078
}  // namespace detail
10079
10080
/**
10081
 * Fast integer reading.
10082
 *
10083
 * Quickly reads an integer from a `std::string_view`. Skips preceding
10084
 * whitespace.
10085
 *
10086
 * Reads in the specified base,
10087
 * allowing a base prefix. Set `base` to `0` to detect the base from the
10088
 * input. `base` must either be `0`, or in range `[2, 36]`.
10089
 *
10090
 * \ingroup scan
10091
 */
10092
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10093
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
10094
    -> scan_result_type<std::string_view, T>
10095
{
10096
    auto result = scan_result_type<std::string_view, T>();
10097
    if (auto r = detail::scan_int_impl(source, result->value(), base);
10098
        SCN_LIKELY(r)) {
10099
        result->set_range(ranges::subrange{*r, source.end()});
10100
    }
10101
    else {
10102
        result = unexpected(r.error());
10103
    }
10104
    return result;
10105
}
10106
10107
namespace detail {
10108
template <bool Val, typename T>
10109
inline constexpr bool dependent_bool = Val;
10110
}
10111
10112
/**
10113
 * Very fast integer reading.
10114
 *
10115
 * Quickly reads an integer from a `std::string_view`.
10116
 *
10117
 * Be very careful when using this one!
10118
 * Its speed comes from some very heavy assumptions about the validity of
10119
 * the input:
10120
 *  - `source` must not be empty.
10121
 *  - `source` contains nothing but the integer: no leading or trailing
10122
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
10123
 *    no `+` is allowed.
10124
 *  - The parsed value does not overflow.
10125
 *  - The input is a valid base-10 integer.
10126
 * Breaking these assumptions will lead to UB.
10127
 *
10128
 * \ingroup scan
10129
 */
10130
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10131
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
10132
{
10133
    static_assert(
10134
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
10135
        "scan_int_exhaustive_valid requires a little endian environment");
10136
    return detail::scan_int_exhaustive_valid_impl<T>(source);
10137
}
10138
10139
SCN_END_NAMESPACE
10140
}  // namespace scn